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