Wyzwanie polega na wydrukowaniu x
cyfr liczby pi, gdzie x
jest długość kodu.
Przykłady:
Source code (length) -> output
foo! (4) 3.141
foobar (6) 3.14159
kinda long (10) 3.141592653
+++++ (5) 3.1415
123456789 (9) 3.14159265
Możesz użyć do określenia liczby cyfr, które musisz wydrukować. Zauważ, że przecinek dziesiętny nie jest liczony jako cyfra pi - więc kod o długości 3 powinien mieć wynik o długości 4.floor(π/10 * 10code_length) / 10code_length - 1
3.14
Zasady:
- Długość kodu musi być większa niż trzy znaki.
- Nie możesz używać żadnych standardowych luk.
- Możesz użyć dowolnej standardowej dozwolonej metody wyjściowej.
- Nie możesz odczytać źródła, aby określić długość kodu.
- Nie możesz używać wbudowanej stałej pi.
- Pi musi być całkowicie dokładne i nie przybliżone.
- Konieczny jest przecinek dziesiętny na wyjściu. Jeśli wybierzesz wyjście za pomocą wartości zwracanej, musisz zwrócić liczbę całkowitą zmiennoprzecinkową.
- Celem tego wyzwania jest znalezienie najkrótszego rozwiązania w każdym języku, a nie najkrótszego języka dla tego rozwiązania. Nie obawiaj się opublikować rozwiązania w języku, gdy krótsze rozwiązanie zostanie opublikowane w tym samym języku, o ile Twoje rozwiązanie używa innej metody.
3
dozwolone?Odpowiedzi:
Japt ,
94 bajtyTak krótko, jak to tylko możliwe :)
Obejmuje niedrukowalne (przesunięcie wiersza, kod znaków 141) po
#
.Sprawdź to
W Japt każdy następujący znak
#
jest konwertowany na jego kod znakowy i dołączany do dowolnych cyfr lub miejsc dziesiętnych, które mogą go poprzedzać, w tym przypadku3.
źródło
Mathematica, 18 bajtów
za pomocą funkcji zeta
Wypróbuj online!
źródło
Galaretka , 9 bajtów
Wypróbuj online!
Wyjścia
3.14159265
Jak to działa
źródło
VBA (Excel), 15 bajtów
Wyjście: 3,14159265358979
Myślę, że to niedopuszczalne, ponieważ grałem w golfa, aby dopasować długość PI. Jego długość bez golfa wynosi 17 bajtów. RE:
źródło
Atn
arcus tangens? Nie jestem pewien, czy jest to dozwolone ... pytać OPGalaretka , 6 bajtów
Wypróbuj online!
Drukuje
3,14159
z dopuszczonym „europejskiej”, separator dziesiętny,
.W jaki sposób?
źródło
,'
.-ÆAær5
i używać.
zamiast,
, ale wtedy byłoby to to samo, co moje rozwiązanie Jelly.Python 3 , 64 bajty
Wypróbuj online!
źródło
print'3.%d'%int('3p3aqd50r7654t9ywkfkgsm0yx0bikcluxlhsm',36)
.SOGL V0.12 ,
1097 bajtówWypróbuj tutaj!
Wyjaśnienie:
źródło
Desmos , 130 bajtów
Kod źródłowy tego (do którego można uzyskać dostęp poprzez kopiowanie i wklejanie wewnątrz i na zewnątrz Desmos) nie jest optymalny, gdy jest generowany za pomocą edytora Desmos, więc tam, gdzie to możliwe, zapisano kilka bajtów białych znaków.
Definiuje to funkcję,
f
która nie przyjmuje argumentów zwracających pi, obliczonych za pomocą Sekwencji Gregory'ego nak=9^9
(Nie mogę potwierdzić, że jest wystarczająco dokładna, ale uważam, że tak, można ją zwiększyć dokładnością przy większej wartości k ) , następnie wyrzuca wynik do128
miejsc po przecinku, co obok3.
długości jest kodem źródłowym.Wypróbuj online!
źródło
3.14159265617
, czy patrzę w niewłaściwe miejsce; czy muszę nacisnąć przycisk?Węgiel , 8 bajtów
Wypróbuj online!
Tylko skompresowany ciąg.
źródło
JavaScript, 16 bajtów
źródło
CJam , 5 bajtów
Wypróbuj online!
Jak to działa
źródło
3.E
. : P, tak czy inaczej, niesamowite nadużycie IO.3'.EF
, ale potem zobaczyłem tę odpowiedź ...Neim , 5 bajtów
Wyjaśnienie:
Wypróbuj online!
źródło
APL, 6 bajtów
Bierze wyimaginowaną część ln (-1).
Wypróbuj online!
źródło
J , 16 bajtów
Wypróbuj online!
Podobne do odpowiedzi VBA. Wyjścia:
3.141592653589793
.źródło
_3 o.1
oblicza atan (1). Jak zapewne wiesz, jestem w pełni świadomy zasad.Math.JS , 17 bajtów.
To 5 wiodących pól
Oblicza to do 15 miejsc po przecinku i domyślnie drukuje.
Wypróbuj online!
źródło
ln(-1)
, ale ponieważ jest to liczba tylko urojona, jest to równoważne z dzieleniem przezi
.05AB1E , 11 bajtów
Wypróbuj online!
KORZYSTANIE Z WBUDOWANYCH:
05AB1E , 4 bajty
Wypróbuj online!
3žs
z jakiegoś powodu nie działa ...źródło
E3.
, jestem zła na mojego ja teraz: P.ForceLang , 269 bajtów
źródło
MATL ,
98 bajtówWypróbuj online!
Wyjaśnienie:
Oszczędność jednego bajtu dzięki Luisowi Mendo!
źródło
Galaretka , 6 bajtów
Wypróbuj online!
Stosuje inne podejście niż inne odpowiedzi na żelki.
W jaki sposób?
-ÆA
jest odwrotnym cosinusem-1
(który jest pi),ær5
pobiera potrzebną sekcję. Udało się, więc zaokrąglenie jest w tym przypadku równoważne obcięciuźródło
Haskell , 15 bajtów
Wypróbuj online!
Korzystanie z formuły @JungHwanMin.
źródło
Perl 5, 40 bajtów
Wymaga opcji wiersza poleceń
-pMbignum
, liczonej jako 8.Przykładowe użycie:
Przepraszam za brak linku TIO, wydaje się, że nie obsługuje
bignum
(lub niezrównanego otwierającego nawiasu ...).źródło
MY , 7 bajtów
Wypróbuj online!
W jaki sposób?
’
, zmniejsz górną część stosu (0
jest wyskakujący, jeśli jest pusty, co powoduje utworzenie stosu[-1]
). (Ten sam symbol co galaretka)2
, pchnij2
.ō
, ponieważ górna część stosu to dwa, odrzuć2
, popn
, a następnie pchnijacos(n)
(w radianach daje to pi, ten symbol mao
znak ujemny na górze.o
(dla normalnego wyzwalania) pochodzi z APL)."
, pop górny element stosu i popchnij go jako ciąg.8
, Pchać8
.↑
, popa
następnieb
popchnijb[:a]
(jest to kolejny symbol pobrany z APL).↵
, wyjście z nową linią (WYJŚCIE <- STOSOWANIE).źródło
RPL (HP48), 86,5 bajtów, 87 cyfr [Czy to się liczy?]
GROB jest słowem kluczowym graficznym. Dwie kolejne liczby to szerokość i wysokość. Następujące cyfry szesnastkowe to bitmapy. To 1 bajt pamięci na każde 2 cyfry plus metadane obrazu.
Pusty program
« »
zajmuje 10 bajtów. Polecenie zajmuje 2,5 bajta. Liczba zmiennoprzecinkowa zajmuje 10,5 bajtów, ale jeśli jest równa jednocyfrowej liczbie całkowitej, może zająć 2,5 bajta.HP48 przechowuje 4 zamiast 8 bitów w każdej lokalizacji pamięci, więc bajt zajmuje 2 kolejne lokalizacje (low endian). Często używa się 20-bitowych fragmentów i zajmują one 2,5 bajta (nie 3).
źródło
> <> , 16 bajtów
Wypróbuj online!
Jest tam kilka niezadrukowanych elementów, z których pierwszy ma wartość 26, a drugi 141.
źródło
Pyth , 9 bajtów
Wypróbuj tutaj.
Działa z tym, że .
źródło
Rubin , 16 bajtów
Wypróbuj online!
źródło
Excel VBA, 16 bajtów
Anonimowe funkcje bezpośredniego okna VBE, które nie pobierają żadnych danych wejściowych ani wyjściowych do żadnych STDOUT programu Excel VBA
Każda linia reprezentuje osobną funkcję, która zwraca Pi o długości 16
źródło
Oktawa , 16 bajtów
Wypróbuj online!
Trudno mi sobie wyobrazić, jak to może być krótsze ...
źródło
PHP, 14 bajtów
Wypróbuj online!
Trochę trudne, ale z góry
M_PI
jest3.1415926535898
źródło
TI-BASIC, 7 bajtów
Te trzy oświadczenia zostaną wydrukowane
3.141593
.Uwaga: TI-BASIC jest językiem tokenizowanym. Liczba znaków nie jest równa liczbie bajtów.
źródło