Terinspirasi oleh video ini oleh tecmath .
Perkiraan akar kuadrat dari angka apa pun x
dapat ditemukan dengan mengambil akar kuadrat bilangan bulat s
(yaitu bilangan bulat terbesar sehingga s * s ≤ x
) dan kemudian menghitung s + (x - s^2) / (2 * s)
. Mari kita sebut perkiraan ini S(x)
. (Catatan: ini setara dengan menerapkan satu langkah metode Newton-Raphson).
Meskipun ini memiliki kekhasan, di mana S (n ^ 2 - 1) akan selalu menjadi √ (n ^ 2), tetapi umumnya akan sangat akurat. Dalam beberapa kasus yang lebih besar, ini dapat memiliki akurasi> 99,99%.
Masukan dan keluaran
Anda akan mengambil satu nomor dalam format apa pun.
Contohnya
Format: Input -> Output
2 -> 1.50
5 -> 2.25
15 -> 4.00
19 -> 4.37 // actually 4.37 + 1/200
27 -> 5.20
39 -> 6.25
47 -> 6.91 // actually 6.91 + 1/300
57 -> 7.57 // actually 7.57 + 1/700
2612 -> 51.10 // actually 51.10 + 2/255
643545345 -> 25368.19 // actually 25,368.19 + 250,000,000/45,113,102,859
35235234236 -> 187710.50 // actually 187,710.50 + 500,000,000/77,374,278,481
Spesifikasi
Output Anda harus dibulatkan ke paling tidak seperseratus terdekat (mis. Jika jawabannya 47.2851, Anda dapat output 47.29)
Output Anda tidak harus memiliki nol dan titik desimal berikut jika jawabannya adalah bilangan bulat (mis. 125.00 dapat ditampilkan sebagai 125 dan 125.0, juga)
Anda tidak harus mendukung angka apa pun di bawah 1.
Anda tidak harus mendukung input non-integer. (mis. 1,52 dll ...)
Aturan
Celah Standar dilarang.
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
s + (x - s^2) / (2 * s) == (x + s^2) / (2 * s)