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