Корінь квадратний#7207

Корінь квадратний

1 секунда
64 мегабайти
Дуже складна

Щоб добути квадратний корінь з десяткового дробу (наприклад, ), його запис розбивають праворуч і ліворуч від десяткової крапки на грані, що містять по цифри. У крайній лівій грані може виявитися і одна цифра (). Перша цифра кореня () знаходиться як найбільша з усіх тих цифр, квадрати яких не перевищують першої грані (). Потім від першої грані віднімають квадрат першої цифри кореня (), і до різниці приписують праворуч (зносять) наступну грань (). Ліворуч від отриманого числа () пишуть подвоєну першу цифру кореня (), а за наступну цифру () беруть найбільшу з тих, добуток яких на число, утворене приписуванням її до подвоєної першої цифри праворуч, (45 \cdot 5 = 225) не перевищує результату приписування до попередньої різниці відповідної грані (). Цю цифру () записують після першої цифри кореня і т.д. Десяткова крапка у корені ставиться тоді, коли зноситься перша грань праворуч від десяткової крапки числа.

Створіть програму, яка вираховує корінь квадратний додатного десяткового дробу.

Вхідні дані

Єдиний рядок містить у вказаному порядку скінченний або періодичний додатний десятковий дріб (всього - до символів разом з десятковою крапкою) та натуральне число , яке не перевищує .

Вихідні дані

Єдиний рядок має містити подання кореня квадратного скінченним чи періодичним десятковим дробом, якщо це можливо, інакше - корінь квадратний числа з недостачею з точністю до цифр після десяткової крапки.

Приклади

Приклад 1

Loading
Loading