Tugas Anda adalah mengubah desimal kembali menjadi jumlah akar kuadrat dari bilangan bulat. Hasilnya harus memiliki akurasi setidaknya 6 digit desimal yang signifikan.
Masukan :
Angka yang menunjukkan jumlah akar kuadrat dan desimal yang menunjukkan angka untuk perkiraan.
Contoh input:
2 3.414213562373095
Keluaran : Bilangan bulat dipisahkan oleh spasi yang, ketika kuadrat dan ditambahkan, kira-kira desimal asli akurat hingga setidaknya 6 angka desimal yang signifikan.
Nol tidak diizinkan dalam solusi.
Jika ada beberapa solusi, Anda hanya perlu mencetak satu.
Contoh output (dalam urutan apa pun):
4 2
Ini berhasil karena Math.sqrt(4) + Math.sqrt(2) == 3.414213562373095
.
Ini kode golf. Kode terpendek (dengan bonus opsional) menang!
Akan selalu ada solusi tetapi -10 jika program Anda mencetak "Tidak" ketika tidak ada solusi dengan bilangan bulat. Selain itu, -10 jika program Anda mencetak semua solusi (dipisahkan oleh baris baru atau titik koma atau apa pun) alih-alih hanya satu.
Kasus uji:
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"]
Dan ya, program Anda harus selesai dalam waktu yang terbatas menggunakan memori yang terbatas pada mesin yang masuk akal. Itu tidak bisa hanya berfungsi "secara teori," Anda harus dapat benar-benar mengujinya.
6 7 8
untuk bonus kedua?