Arka fon:
Pi ( π) aşkın bir sayıdır ve bu nedenle sonlandırılmamış bir ondalık gösterime sahiptir. Benzer şekilde, temsil başka bir tamsayı tabanına yazılırsa sona ermez. Peki ya üs olarak yazarsak π?
Ondalık basamaklar 10'un gücünü temsil eder, bu nedenle:
π = 3.14… = (3 * 10^0) + (1 * 10^-1) + (4 * 10^-2) + …
Yani temelde π, rakamlar şu güçleri temsil eder π:
π = 10 = (1 * π^1) + (0 * π^0)
Bu yeni temelde, tamsayılar artık sonlandırıcı olmayan temsillere sahiptir. Yani ondalık sayı 10 şimdi şöyle olur:
10 => 100.01022… = (1 * π^2) + (0 * π^1) + (0 * π^0) + (0 * π^-1) + (1 * π^-2) + …
πTemelde kullanılan basamakların 0,1,2,3 olduğunu unutmayın, çünkü bunlar daha küçük basamaklardır π.
Meydan okuma:
Negatif olmayan bir tam sayı verildiğinde x:
Tabandaki temsilini çıktılar (durmadan)
π. Sayının sınırlı bir temsili varsa (0, 1, 2, 3), program sonsuz sıfır yazdırmak yerine durabilir.Rastgele büyük bir tamsayı alın
nve üssünün ilknhanelerinixçıktılayınπ.
Kurallar:
- Bir sayının birden fazla olası temsili olduğundan, en büyük (normalleştirilmiş) görünen sayıyı çıkarmanız gerekir . Gibi sadece
1.0 = 0.9999…onlu, bu sorunun da bu baz bulunmaktadır. Temeldeπ, biri hala1.0, ancak0.3011…örneğin olarak da yazılabilir . Benzer şekilde, on100.01022…, ancak30.121…veya olarak da yazılabilir23.202…. - Bu kod golf, çok az bayt kazanır. Program veya işlev.
- Hiçbir yerleşik ins ( Benim baktığım size , Mathematica'yı )
Sonuçlar:
0 = 0
1 = 1
2 = 2
3 = 3
4 = 10.220122021121110301000010110010010230011111021101…
5 = 11.220122021121110301000010110010010230011111021101…
6 = 12.220122021121110301000010110010010230011111021101…
7 = 20.202112002100000030020121222100030110023011000212…
8 = 21.202112002100000030020121222100030110023011000212…
9 = 22.202112002100000030020121222100030110023011000212…
10 = 100.01022122221121122001111210201201022120211001112…
42 = 1101.0102020121020101001210220211111200202102010100…
1337 = 1102021.0222210102022212121030030010230102200221212…
9999 = 100120030.02001010222211020202010210021200221221010…
Pi tabanındaki ilk 10.000 rakam
Doğrulama:
Sen Mathematica kodu kullanarak istediğiniz herhangi bir çıktı doğrulayabilir burada . İlk parametre, xüçüncü parametre n. Zaman aşımına uğrarsa, bir küçük seçin nve çalıştırın. Ardından, programla yeni bir Mathematica çalışma sayfası açmak için "Kodda Aç" ı tıklayın. Orada zaman sınırı yok.
Elde edilen çıktıyı burada bir sayıya dönüştürün .
İlişkili:
nolmasam da, Pi'nin en azından nhassas basamaklara sahip olması gerektiğini tahmin ediyorum .