56 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| id: 5900f53d1000cf542c510050
 | ||
| challengeType: 5
 | ||
| title: 'Problem 465: Polar polygons'
 | ||
| videoUrl: ''
 | ||
| localeTitle: 'Задача 465: Полярные полигоны'
 | ||
| ---
 | ||
| 
 | ||
| ## Description
 | ||
| <section id="description"> Ядро многоугольника определяется множеством точек, из которых видима граница всего полигона. Мы определяем полярный многоугольник как многоугольник, для которого начало строго содержится внутри его ядра. <p> Для этой задачи многоугольник может иметь коллинеарные последовательные вершины. Однако многоугольник все еще не может иметь самопересечение и не может иметь нулевую область. </p><p> Например, только первое из следующего является полярным многоугольником (ядра второго, третьего и четвертого не содержат строгого начала, а пятый не имеет ядра вообще): </p><p> Обратите внимание, что первый многоугольник имеет три последовательные коллинеарные вершины. </p><p> Пусть P (n) - число полярных многоугольников, для которых вершины (x, y) имеют целые координаты, абсолютные значения которых не больше n. </p><p> Обратите внимание, что многоугольники должны считаться разными, если они имеют различный набор ребер, даже если они заключают одну и ту же область. Например, многоугольник с вершинами [(0,0), (0,3), (1,1), (3,0)] отличается от многоугольника вершинами [(0,0), (0,3) ), (1,1), (3,0), (1,0)]. </p><p> Например, P (1) = 131, P (2) = 1648531, P (3) = 1099461296175 и P (343) mod 1 000 000 007 = 937293740. </p><p> Найти P (713) mod 1 000 000 007. </p></section>
 | ||
| 
 | ||
| ## Instructions
 | ||
| <section id="instructions">
 | ||
| </section>
 | ||
| 
 | ||
| ## Tests
 | ||
| <section id='tests'>
 | ||
| 
 | ||
| ```yml
 | ||
| tests:
 | ||
|   - text: <code>euler465()</code> должен вернуть 585965659.
 | ||
|     testString: 'assert.strictEqual(euler465(), 585965659, "<code>euler465()</code> should return 585965659.");'
 | ||
| 
 | ||
| ```
 | ||
| 
 | ||
| </section>
 | ||
| 
 | ||
| ## Challenge Seed
 | ||
| <section id='challengeSeed'>
 | ||
| 
 | ||
| <div id='js-seed'>
 | ||
| 
 | ||
| ```js
 | ||
| function euler465() {
 | ||
|   // Good luck!
 | ||
|   return true;
 | ||
| }
 | ||
| 
 | ||
| euler465();
 | ||
| 
 | ||
| ```
 | ||
| 
 | ||
| </div>
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| </section>
 | ||
| 
 | ||
| ## Solution
 | ||
| <section id='solution'>
 | ||
| 
 | ||
| ```js
 | ||
| // solution required
 | ||
| ```
 | ||
| </section>
 |