47 lines
		
	
	
		
			873 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			873 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | id: 5900f51d1000cf542c51002f | ||
|  | title: 'Problem 433: Steps in Euclid''s algorithm' | ||
|  | challengeType: 5 | ||
|  | forumTopicId: 302104 | ||
|  | dashedName: problem-433-steps-in-euclids-algorithm | ||
|  | --- | ||
|  | 
 | ||
|  | # --description--
 | ||
|  | 
 | ||
|  | Let E(x0, y0) be the number of steps it takes to determine the greatest common divisor of x0 and y0 with Euclid's algorithm. More formally:x1 = y0, y1 = x0 mod y0xn = yn-1, yn = xn-1 mod yn-1 | ||
|  | 
 | ||
|  | E(x0, y0) is the smallest n such that yn = 0. | ||
|  | 
 | ||
|  | We have E(1,1) = 1, E(10,6) = 3 and E(6,10) = 4. | ||
|  | 
 | ||
|  | Define S(N) as the sum of E(x,y) for 1 ≤ x,y ≤ N. We have S(1) = 1, S(10) = 221 and S(100) = 39826. | ||
|  | 
 | ||
|  | Find S(5·106). | ||
|  | 
 | ||
|  | # --hints--
 | ||
|  | 
 | ||
|  | `euler433()` should return 326624372659664. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.strictEqual(euler433(), 326624372659664); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --seed--
 | ||
|  | 
 | ||
|  | ## --seed-contents--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | function euler433() { | ||
|  | 
 | ||
|  |   return true; | ||
|  | } | ||
|  | 
 | ||
|  | euler433(); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --solutions--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | // solution required | ||
|  | ``` |