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

56 lines
2.9 KiB
Markdown
Raw Normal View History

---
id: 5900f3ac1000cf542c50febf
challengeType: 5
title: 'Problem 64: Odd period square roots'
videoUrl: ''
localeTitle: 'Задача 64: квадратные корни четного периода'
---
## Description
<section id="description"> Все квадратные корни периодичны, когда записываются как непрерывные дроби и могут быть записаны в виде: <p> √N = a0 + 1 </p><p> a1 + 1 </p><p> a2 + 1 </p><p> a3 + ... </p><p> Например, рассмотрим √23: </p><p> √23 = 4 + √23 - 4 = 4 + 1 = 4 + 1 </p><p> 1√23-4 </p><p> 1 + √23 - 37 </p><p> Если продолжить, мы получим следующее расширение: </p><p> √23 = 4 + 1 </p><p> 1 + 1 </p><p> 3 + 1 </p><p> 1 + 1 </p><p> 8 + ... </p><p> Процесс можно резюмировать следующим образом: </p><p> a0 = 4, </p><p> 1√23-4 = √23 + 47 = 1 + √23-37 a1 = 1, </p><p> 7√23-3 = 7 (√23 + 3) 14 = 3 + √23-32 a2 = 3, </p><p> 2√23-3 = 2 (√23 + 3) 14 = 1 + √23-47 a3 = 1, </p><p> 7√23-4 = 7 (√23 + 4) 7 = 8 + √23-4 a4 = 8, </p><p> 1√23-4 = √23 + 47 = 1 + √23-37 a5 = 1, </p><p> 7√23-3 = 7 (√23 + 3) 14 = 3 + √23-32 a6 = 3, </p><p> 2√23-3 = 2 (√23 + 3) 14 = 1 + √23-47 a7 = 1, </p><p> 7√23-4 = 7 (√23 + 4) 7 = 8 + √23-4 </p><p> Можно видеть, что последовательность повторяется. Для краткости мы используем обозначение √23 = [4; (1,3,1,8)], чтобы указать, что блок (1,3,1,8) повторяется бесконечно. </p><p> Первые десять непрерывных дробных представлений (иррациональных) квадратных корней: √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 имеет нечетный период? </p></section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: ''
testString: 'assert.strictEqual(euler64(), 1322, "<code>euler64()</code> should return 1322.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler64() {
// Good luck!
return true;
}
euler64();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>