당신의 작업은 소수점을 정수의 제곱근의 합으로 다시 변환하는 것입니다. 결과는 유효 소수점 6 자리 이상의 정확도를 가져야합니다.
입력 :
제곱근의 수를 나타내는 숫자와 근사 할 숫자를 나타내는 10 진수
입력 예 :
2 3.414213562373095
출력 : 제곱근을 더하고 추가 할 때 대략 6 자리 이상의 유효 소수점 자리수에 해당하는 정수로 공백으로 구분 된 정수입니다.
솔루션에는 0이 허용되지 않습니다.
여러 솔루션이있는 경우 한 가지만 인쇄하면됩니다.
예제 출력 (순서대로) :
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
는 두 번째 보너스 에 대한 6 개의 순열을 모두 인쇄 할 수 있습니까?