56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| id: 5900f4031000cf542c50ff15
 | ||
| challengeType: 5
 | ||
| title: 'Problem 150: Searching a triangular array for a sub-triangle having minimum-sum'
 | ||
| videoUrl: ''
 | ||
| localeTitle: 问题150:在三角形阵列中搜索具有最小和的子三角形
 | ||
| ---
 | ||
| 
 | ||
| ## Description
 | ||
| <section id="description">在正整数和负整数的三角形阵列中,我们希望找到一个子三角形,使得它包含的数字之和尽可能小。在下面的示例中,可以很容易地验证标记的三角形满足具有-42的总和的条件。 <p>我们希望制作一个包含一千行的三角形数组,因此我们使用一种随机数生成器(称为线性同余生成器)生成5009个伪随机数sk,范围为±219,如下所示:t:= 0 </p><p>对于k = 1到k = 500500: </p><p> t:=(615949 * t + 797807)modulo 220 sk:= t-219因此:s1 = 273519,s2 = -153582,s3 = 450905等我们的三角形数组然后使用伪随机数形成: </p><p> s1 s2 s3 s4 s5 s6 </p><p> s7 s8 s9 s10 ...... </p><p>子三角形可以从数组的任何元素开始,并在我们喜欢的范围内向下延伸(从下一行直接接收它下面的两个元素,之后直接从该行下面的三个元素,依此类推)。 </p><p> “三角形的总和”定义为它包含的所有元素的总和。 </p><p>找到可能的最小子三角形和。 </p></section>
 | ||
| 
 | ||
| ## Instructions
 | ||
| <section id="instructions">
 | ||
| </section>
 | ||
| 
 | ||
| ## Tests
 | ||
| <section id='tests'>
 | ||
| 
 | ||
| ```yml
 | ||
| tests:
 | ||
|   - text: <code>euler150()</code>应返回-271248680。
 | ||
|     testString: 'assert.strictEqual(euler150(), -271248680, "<code>euler150()</code> should return -271248680.");'
 | ||
| 
 | ||
| ```
 | ||
| 
 | ||
| </section>
 | ||
| 
 | ||
| ## Challenge Seed
 | ||
| <section id='challengeSeed'>
 | ||
| 
 | ||
| <div id='js-seed'>
 | ||
| 
 | ||
| ```js
 | ||
| function euler150() {
 | ||
|   // Good luck!
 | ||
|   return true;
 | ||
| }
 | ||
| 
 | ||
| euler150();
 | ||
| 
 | ||
| ```
 | ||
| 
 | ||
| </div>
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| </section>
 | ||
| 
 | ||
| ## Solution
 | ||
| <section id='solution'>
 | ||
| 
 | ||
| ```js
 | ||
| // solution required
 | ||
| ```
 | ||
| </section>
 |