Esinlenerek bu video ile tecmath .
Herhangi bir sayının kare kökünün yaklaşıklığı x
, tamsayı kare kökü s
(yani, bu şekilde en büyük tam sayı s * s ≤ x
) alınarak ve daha sonra hesaplanarak bulunabilir s + (x - s^2) / (2 * s)
. Bu yaklaşıma diyelim S(x)
. (Not: Bu, Newton-Raphson yönteminin bir adımının uygulanmasına eşdeğerdir).
Bu garip olmasına rağmen, S (n ^ 2 - 1) her zaman √ (n ^ 2) olacaktır, ancak genellikle çok doğru olacaktır. Bazı büyük durumlarda, bu oran>% 99,99'luk bir hassasiyete sahip olabilir.
Giriş ve çıkış
Herhangi bir uygun biçimde bir sayı alacaksınız.
Örnekler
Biçim: Giriş -> Çıkış
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
Özellikler
Çıktınız en az en yakın yüzde birliğe yuvarlanmalıdır (yani, cevap 47.2851 ise, çıktıyı 47.29 alabilirsiniz)
Cevabın bir tam sayı olması durumunda, çıktınızda aşağıdaki sıfırların ve ondalık bir noktanın olması gerekmez (ör. 125.00, 125 ve 125.0 olarak da çıkarılabilir)
1'in altındaki sayıları desteklemenize gerek yoktur.
Tamsayı olmayan girişleri desteklemeniz gerekmez. (ör. 1,52 vb ...)
kurallar
Standart Loopholes yasaktır.
Bu bir kod golf , bayt çok kısa cevap kazanır.
s + (x - s^2) / (2 * s) == (x + s^2) / (2 * s)