Ваше завдання полягає в перетворенні десяткових знаків назад у суму квадратних коренів цілих чисел. Результат повинен мати точність не менше 6 значних десяткових цифр.
Вхід :
Число, яке вказує на кількість квадратних коренів, і десяткове число, що вказує число для наближення.
Приклад введення:
2 3.414213562373095
Вихідні дані : Цілі числа, розділені пробілами, які при введенні квадрата та доданні мають приблизно початковий десятковий точний показник принаймні до 6 значних десяткових цифр.
Нулі в розчині не допускаються.
Якщо є кілька рішень, вам потрібно роздрукувати лише одне.
Приклад виведення (у будь-якому порядку):
4 2
Це працює, тому що Math.sqrt(4) + Math.sqrt(2) == 3.414213562373095.
Це код гольфу. Найкоротший код (з додатковим бонусом) виграє!
Рішення завжди буде, але -10, якщо програма надрукує "Ні", коли немає рішення з цілими числами. Крім того, -10, якщо ваша програма друкує всі рішення (розділені новими рядками або крапками з комою або будь-якими іншими), а не лише одне.
Тестові приклади:
3 7.923668178593959 --> 6 7 8
2 2.8284271247461903 --> 2 2
5 5.0 --> 1 1 1 1 1
5 13.0 --> 4 4 9 9 9 --> 81 1 1 1 1 --> 36 9 4 1 1 etc. [print any, but print all for the "all solutions bonus"]
І так, ваша програма повинна закінчуватись в обмежений час, використовуючи обмежену пам’ять на будь-якій розумній машині. Це не може просто працювати "теоретично", ви повинні мати можливість фактично його перевірити.
6 7 8для другого бонуса?