56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | id: 5900f4111000cf542c50ff24 | |||
|  | challengeType: 5 | |||
|  | title: 'Problem 165: Intersections' | |||
|  | videoUrl: '' | |||
|  | localeTitle: 问题165:交叉口 | |||
|  | --- | |||
|  | 
 | |||
|  | ## Description
 | |||
|  | <section id="description">段由其两个端点唯一定义。通过考虑平面几何中的两个线段,存在三种可能性:段具有零点,一个点或无限多个共同点。此外,当两个段恰好具有一个共同点时,可能是该公共点是任一段或两者的端点的情况。如果两个段的公共点不是任一段的端点,则它是两个段的内点。如果T是L1和L2的唯一公共点,则我们将两个段L1和L2的公共点T称为L1和L2的真实交点,并且T是两个段的内点。 <p>考虑三个段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个线段中发现了多少个不同的真实交叉点? </p></section> | |||
|  | 
 | |||
|  | ## Instructions
 | |||
|  | <section id="instructions"> | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Tests
 | |||
|  | <section id='tests'> | |||
|  | 
 | |||
|  | ```yml | |||
|  | tests: | |||
|  |   - text: <code>euler165()</code>应该返回2868868。 | |||
|  |     testString: 'assert.strictEqual(euler165(), 2868868, "<code>euler165()</code> should return 2868868.");' | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Challenge Seed
 | |||
|  | <section id='challengeSeed'> | |||
|  | 
 | |||
|  | <div id='js-seed'> | |||
|  | 
 | |||
|  | ```js | |||
|  | function euler165() { | |||
|  |   // Good luck! | |||
|  |   return true; | |||
|  | } | |||
|  | 
 | |||
|  | euler165(); | |||
|  | 
 | |||
|  | ``` | |||
|  | 
 | |||
|  | </div> | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | </section> | |||
|  | 
 | |||
|  | ## Solution
 | |||
|  | <section id='solution'> | |||
|  | 
 | |||
|  | ```js | |||
|  | // solution required | |||
|  | ``` | |||
|  | </section> |