49 lines
		
	
	
		
			953 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			953 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								id: 5900f4911000cf542c50ffa3
							 | 
						||
| 
								 | 
							
								title: 'Problem 292: Pythagorean Polygons'
							 | 
						||
| 
								 | 
							
								challengeType: 5
							 | 
						||
| 
								 | 
							
								forumTopicId: 301944
							 | 
						||
| 
								 | 
							
								dashedName: problem-292-pythagorean-polygons
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --description--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								We shall define a pythagorean polygon to be a convex polygon with the following properties:there are at least three vertices,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								no three vertices are aligned,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								each vertex has integer coordinates,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								each edge has integer length.For a given integer n, define P(n) as the number of distinct pythagorean polygons for which the perimeter is ≤ n.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Pythagorean polygons should be considered distinct as long as none is a translation of another.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You are given that P(4) = 1, P(30) = 3655 and P(60) = 891045. Find P(120).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --hints--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								`euler292()` should return 3600060866.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								assert.strictEqual(euler292(), 3600060866);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --seed--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## --seed-contents--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								function euler292() {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return true;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								euler292();
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# --solutions--
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								// solution required
							 | 
						||
| 
								 | 
							
								```
							 |