Tło:
Pi ( π) jest liczbą transcendentalną , a zatem ma niekończącą się reprezentację dziesiętną. Podobnie reprezentacja nie kończy się, jeśli jest zapisana w jakiejkolwiek innej liczbie całkowitej. Ale co, jeśli napisalibyśmy to w bazie π?
Cyfry dziesiętne reprezentują potęgi 10, więc:
π = 3.14… = (3 * 10^0) + (1 * 10^-1) + (4 * 10^-2) + …
Zatem w bazie πcyfry reprezentowałyby moc π:
π = 10 = (1 * π^1) + (0 * π^0)
W tej nowej bazie liczby całkowite mają teraz reprezentacje nie kończące się. Zatem liczba dziesiętna staje się teraz następująca:
10 => 100.01022… = (1 * π^2) + (0 * π^1) + (0 * π^0) + (0 * π^-1) + (1 * π^-2) + …
Zauważ, że w bazie πużyte cyfry to 0,1,2,3, ponieważ są to cyfry mniejsze niż π.
Wyzwanie:
Biorąc pod uwagę nieujemną liczbę całkowitą x:
Wyjście (bez zatrzymywania) jego reprezentacja w bazie
π. Jeśli liczba ma skończoną reprezentację (0, 1, 2, 3), wówczas program może zatrzymać się zamiast drukować nieskończone zera.Weź dowolną dużą liczbę całkowitą
ni wypisz pierwszencyfryxw bazieπ.
Zasady:
- Ponieważ liczba ma wiele możliwych reprezentacji, musisz wypisać tę, która wydaje się największa (znormalizowana). Podobnie jak
1.0 = 0.9999…w systemie dziesiętnym, ten problem istnieje również w tej bazie. W bazieπjeden jest nadal1.0, ale można go również zapisać0.3011…np. Jako . Podobnie dziesięć to100.01022…, ale może być również zapisane jako30.121…lub23.202…. - To jest golf golfowy, więc wygrywa najmniej bajtów. Program lub funkcja.
- Brak wbudowanych elementów ( patrzę na ciebie , Mathematica )
Wyniki:
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…
Pierwsze 10 000 cyfr dziesięciu w bazie Pi
Weryfikacja:
Można sprawdzić każdą wyjściowego chcesz przy użyciu kodu Mathematica tutaj . Pierwszy parametr to xtrzeci n. Jeśli upłynie limit czasu, wybierz mały ni uruchom go. Następnie kliknij „Otwórz w kodzie”, aby otworzyć nowy arkusz Mathematica z programem. Nie ma tam limitu czasu.
Konwertuj wynikowy wynik na liczbę tutaj .
Związane z:
n, zgaduję, że Pi musi mieć co najmniej ncyfry dokładności.