freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-433-steps-in-euclids-algorithm.english.md
Valeriy 79d9012432 fix(curriculum): quotes in tests (#18828)
* fix(curriculum): tests quotes

* fix(curriculum): fill seed-teardown

* fix(curriculum): fix tests and remove unneeded seed-teardown
2018-10-20 23:32:47 +05:30

1.1 KiB

id, challengeType, title
id challengeType title
5900f51d1000cf542c51002f 5 Problem 433: Steps in Euclid's 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).

Instructions

Tests

tests:
  - text: <code>euler433()</code> should return 326624372659664.
    testString: assert.strictEqual(euler433(), 326624372659664, '<code>euler433()</code> should return 326624372659664.');

Challenge Seed

function euler433() {
  // Good luck!
  return true;
}

euler433();

Solution

// solution required