Фон:
Pi ( π
) - це трансцендентне число , і тому воно має невпинне десяткове подання. Аналогічно, представлення не закінчується, якщо записане в будь-якій іншій цілій базі. Але що робити, якщо ми написали це в базі π
?
Цифри в десяткових числах представляють потужність 10, так що:
π = 3.14… = (3 * 10^0) + (1 * 10^-1) + (4 * 10^-2) + …
Отже, в основі π
цифри представляли б повноваження π
:
π = 10 = (1 * π^1) + (0 * π^0)
У цій новій базі цілі числа мають представлення, що не закінчуються. Тож 10 у десятковій частині зараз стає наступним:
10 => 100.01022… = (1 * π^2) + (0 * π^1) + (0 * π^0) + (0 * π^-1) + (1 * π^-2) + …
Зауважте, що базові π
цифри, що використовуються, становлять 0,1,2,3, оскільки це цифри менше, ніж π
.
Виклик:
Дано невід'ємне ціле число x
:
Виведіть (без зупинки) його подання в базі
π
. Якщо число має кінцеве подання (0, 1, 2, 3), програма може зупинитись замість друку нескінченних нулів.Візьміть довільно велике ціле число
n
і виведіть першіn
цифриx
базиπ
.
Правила:
- Оскільки число має кілька можливих уявлень, ви повинні вивести те, що видається найбільшим (нормалізованим). Як і
1.0 = 0.9999…
в десятковій формі, така проблема існує і в цій базі. У базіπ
один все ще є1.0
, але його також можна записати як0.3011…
, наприклад. Аналогічно, десять є100.01022…
, але також можна записати як30.121…
або23.202…
. - Це код-гольф, тому виграє найменше байтів. Програма або функція.
- Ніяких вбудованих ( я дивлюся на вас , Mathematica )
Результати:
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…
Перші 10 000 цифр десяти в базовій частині Pi
Підтвердження:
Ви можете перевірити будь-який висновок , який ви хочете з допомогою коду Mathematica тут . Перший параметр - x
третій n
. Якщо час вичерпається, виберіть маленьку n
і запустіть її. Потім натисніть «Відкрити в коді», щоб відкрити новий робочий аркуш Mathematica з програмою. Там немає обмеження часу.
Перетворіть отриманий результат у число тут .
Пов'язані:
n
, я думаю, що Pi повинен мати принаймні n
цифри точності.