freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-64-odd-period-squar...

2.9 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f3ac1000cf542c50febf 5 Problem 64: Odd period square roots Задача 64: квадратные корни четного периода

Description

Все квадратные корни периодичны, когда записываются как непрерывные дроби и могут быть записаны в виде:

√N = a0 + 1

a1 + 1

a2 + 1

a3 + ...

Например, рассмотрим √23:

√23 = 4 + √23 - 4 = 4 + 1 = 4 + 1

1√23-4

1 + √23 - 37

Если продолжить, мы получим следующее расширение:

√23 = 4 + 1

1 + 1

3 + 1

1 + 1

8 + ...

Процесс можно резюмировать следующим образом:

a0 = 4,

1√23-4 = √23 + 47 = 1 + √23-37 a1 = 1,

7√23-3 = 7 (√23 + 3) 14 = 3 + √23-32 a2 = 3,

2√23-3 = 2 (√23 + 3) 14 = 1 + √23-47 a3 = 1,

7√23-4 = 7 (√23 + 4) 7 = 8 + √23-4 a4 = 8,

1√23-4 = √23 + 47 = 1 + √23-37 a5 = 1,

7√23-3 = 7 (√23 + 3) 14 = 3 + √23-32 a6 = 3,

2√23-3 = 2 (√23 + 3) 14 = 1 + √23-47 a7 = 1,

7√23-4 = 7 (√23 + 4) 7 = 8 + √23-4

Можно видеть, что последовательность повторяется. Для краткости мы используем обозначение √23 = [4; (1,3,1,8)], чтобы указать, что блок (1,3,1,8) повторяется бесконечно.

Первые десять непрерывных дробных представлений (иррациональных) квадратных корней: √2 = [1; (2)], период = 1 √3 = [1; (1,2)], период = 2 √5 = [2; (4)], период = 1 √6 = [2; (2,4)], период = 2 √7 = [2; (1,1,1,4)], период = 4 √8 = [2; (1,4)], период = 2 √10 = [3; (6)], период = 1 √11 = [3; (3,6)], период = 2 √12 = [3; (2,6 )], период = 2 √13 = [3; (1,1,1,1,6)], period = 5 Точно четыре непрерывные дроби при N ≤ 13 имеют нечетный период. Сколько длинных фракций для N ≤ 10000 имеет нечетный период?

Instructions

Tests

tests:
  - text: ''
    testString: 'assert.strictEqual(euler64(), 1322, "<code>euler64()</code> should return 1322.");'

Challenge Seed

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

euler64();

Solution

// solution required