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
|
||
|
```
|