考虑三个段L1,L2和L3:L1:(27,44)到(12,32)L2:(46,53)到(17,62)L3:(46,70)到(22,40)可以证实线段L2和L3具有真实的交叉点。我们注意到,作为L3的终点之一:(22,40)位于L1上,这不被认为是真正的交点。 L1和L2没有共同点。因此,在三个线段中,我们找到一个真正的交叉点。现在让我们对5000个线段进行相同的操作。为此,我们使用所谓的“Blum Blum Shub”伪随机数生成器生成20000个数字。 s0 = 290797 sn + 1 = sn×sn(modulo 50515093)tn = sn(modulo 500)为了创建每个线段,我们使用四个连续的数字tn。也就是说,第一个线段由下式给出:(t1,t2)到(t3,t4)根据上述发生器计算的前四个数字应该是:27,144,12和232.因此第一个线段是( 27,144)至(12,232)。在5000个线段中发现了多少个不同的真实交叉点?
euler165()
应该返回2868868。
testString: 'assert.strictEqual(euler165(), 2868868, "euler165()
should return 2868868.");'
```