r0 ile 1 arasında bir kayan nokta sayımız ve bir tam sayı var p.
En küçük paydaya sahip tam sayı kesirini bulun r, en azından pbasamaklı hassasiyetle yaklaşın.
- Girişler:
r(bir kayan nokta sayısı) vep(tamsayı). - Çıktılar:
avebtamsayılar, buradaa/b(kayan nokta olarak) rakamlararkadar yaklaşırp.bmümkün olan en küçük pozitif tamsayıdır.
Örneğin:
- eğer
r=0.14159265358979vep=9, - Sonra sonucudur
a=4687veb=33102, - çünkü
4687/33102=0.1415926530119026.
Herhangi bir çözümün teorik olarak keyfi hassasiyet tipleriyle çalışması gerekir, ancak uygulamaların sabit hassasiyetli tiplerinden kaynaklanan sınırlamalar önemli değildir.
Kesinlik, " 0." içindeki rakamlardan sonra gelen basamak sayısı anlamına gelir r. Böylece, eğer r=0.0123ve p=3sonra a/bbaşlamalıdır 0.012. pKesirli kısmının ilk haneleri r0 ise, tanımsız davranış kabul edilebilir.
Kazanma kriterleri:
- Algoritmik olarak en hızlı algoritma kazanır. Hız O (p) cinsinden ölçülür.
- En hızlı çoklu algoritmalar varsa, en kısa kazanır.
- Kendi cevabım olası kazananlar kümesinden çıkarıldı.
Ps parçası aslında göründüğü kadar çok daha kolaydır matematik, Okumayı önermek bu yazı.
padEndve ile uğraşıyorsunmatch?sliceHer dizeyi doğru uzunlukta yapıp sonra çıkaramaz mısınız ?