56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| id: 5900f5091000cf542c51001b
 | |
| challengeType: 5
 | |
| title: 'Problem 408: Admissible paths through a grid'
 | |
| videoUrl: ''
 | |
| localeTitle: 'Problema 408: Caminos admisibles a través de una grilla.'
 | |
| ---
 | |
| 
 | |
| ## Description
 | |
| <section id="description"> Llamemos inadmisible un punto de celosía (x, y) si x, y y x + y son todos cuadrados perfectos positivos. Por ejemplo, (9, 16) es inadmisible, mientras que (0, 4), (3, 1) y (9, 4) no lo son. <p> Considere una ruta desde el punto (x1, y1) al punto (x2, y2) usando solo pasos de unidad hacia el norte o el este. Llamemos admisible a ese camino si ninguno de sus puntos intermedios es inadmisible. </p><p> Sea P (n) el número de rutas admisibles de (0, 0) a (n, n). Se puede verificar que P (5) = 252, P (16) = 596994440 y P (1000) mod 1 000 000 007 = 341920854. </p><p> Encontrar P (10 000 000) mod 1 000 000 007. </p></section>
 | |
| 
 | |
| ## Instructions
 | |
| <section id="instructions">
 | |
| </section>
 | |
| 
 | |
| ## Tests
 | |
| <section id='tests'>
 | |
| 
 | |
| ```yml
 | |
| tests:
 | |
|   - text: <code>euler408()</code> debe devolver 299742733.
 | |
|     testString: 'assert.strictEqual(euler408(), 299742733, "<code>euler408()</code> should return 299742733.");'
 | |
| 
 | |
| ```
 | |
| 
 | |
| </section>
 | |
| 
 | |
| ## Challenge Seed
 | |
| <section id='challengeSeed'>
 | |
| 
 | |
| <div id='js-seed'>
 | |
| 
 | |
| ```js
 | |
| function euler408() {
 | |
|   // Good luck!
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| euler408();
 | |
| 
 | |
| ```
 | |
| 
 | |
| </div>
 | |
| 
 | |
| 
 | |
| 
 | |
| </section>
 | |
| 
 | |
| ## Solution
 | |
| <section id='solution'>
 | |
| 
 | |
| ```js
 | |
| // solution required
 | |
| ```
 | |
| </section>
 |