56 lines
3.0 KiB
Markdown
56 lines
3.0 KiB
Markdown
![]() |
---
|
|||
|
id: 5900f46d1000cf542c50ff7f
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 255: Rounded Square Roots'
|
|||
|
videoUrl: ''
|
|||
|
localeTitle: 'Задача 255: Скругленные квадратные корни'
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id="description"> Мы определяем круглый квадратный корень положительного целого числа n в виде квадратного корня из n, округленного до ближайшего целого числа. <p> Следующая процедура (по существу, метод Херона, адаптированный к целочисленной арифметике) находит округленный квадратный корень из n: пусть d - число цифр числа n. Если d нечетно, задайте x0 = 2 × 10 (d-1) / 2. Если d четно, задайте x0 = 7 × 10 (d-2) / 2. Повторение: </p><p> пока xk + 1 = xk. </p><p> В качестве примера найдем закругленный квадратный корень n = 4321.n имеет 4 цифры, поэтому x0 = 7 × 10 (4-2) /2 = 70. Так как x2 = x1, остановимся здесь. Итак, после двух итераций мы обнаружили, что квадратный корень из 4321 равен 66 (фактический квадратный корень равен 65.7343137 ...). </p><p> Число итераций, требуемых при использовании этого метода, на удивление низкое. Например, мы можем найти закругленный квадратный корень из 5-значного целого числа (10 000 ≤ n ≤ 99,999) со средним значением 3.2102888889 итераций (среднее значение округлено до 10 знаков после запятой). </p><p> Используя описанную выше процедуру, каково среднее число итераций, необходимых для поиска округленного квадратного корня 14-значного числа (1013 ≤ n <1014)? Дайте ваш ответ округленным до десяти знаков после запятой. </p><p> Примечание: Символы ⌊x⌋ и ⌈x⌉ представляют функцию пола и функцию потолка соответственно. </p></section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
<section id="instructions">
|
|||
|
</section>
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: <code>euler255()</code> должен вернуться 4.447401118.
|
|||
|
testString: 'assert.strictEqual(euler255(), 4.447401118, "<code>euler255()</code> should return 4.447401118.");'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Challenge Seed
|
|||
|
<section id='challengeSeed'>
|
|||
|
|
|||
|
<div id='js-seed'>
|
|||
|
|
|||
|
```js
|
|||
|
function euler255() {
|
|||
|
// Good luck!
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
euler255();
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Solution
|
|||
|
<section id='solution'>
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|
|||
|
</section>
|