Zadanie
Napisz funkcję lub program, aby znaleźć liczbę obrotów wymaganych przez koło do przebycia określonej odległości, biorąc pod uwagę jej promień.
Zasady
Dane wejściowe mogą być 2 dodatnimi liczbami wymiernymi i mogą być przyjmowane w dowolnym dogodnym formacie.
Oba wejścia mają tę samą jednostkę.
W kodzie nie mogą znajdować się cyfry 0–9.
Wyjście będzie liczbą całkowitą (w przypadku liczby zmiennoprzecinkowej, zaokrąglenie do nieskończoności)
To jest golf golfowy, więc wygrywa najkrótszy kod
Przykłady
distance radius output
10 1 2
50 2 4
52.22 4 3
3.4 0.08 7
12.5663 0.9999 3
code-golf
restricted-source
Wedant Kandoi
źródło
źródło
-DP=3.14
w flagach kompilatora, który zdefiniowałbyP
jako przybliżenie liczby pi, co prawdopodobnie nie to, co zamierzałeśOdpowiedzi:
MathGolf ,
54 bajtówWypróbuj online!
Wyjaśnienie
źródło
APL + WIN, 9 bajtów
Monity o promień, a następnie odległość:
Wypróbuj online! Dzięki uprzejmości Dyalog Classic
Wyjaśnienie:
źródło
⌈⎕÷○+⍨⎕
działa na 7 bajtów.Java 8,
3230 bajtówZawiera niedrukowalne
\u0002
między pojedynczymi cudzysłowami.Port odpowiedzi Perla 6 na @jOKing .
Wypróbuj online.
źródło
2
, a potem po prostu używam cyfry1
... Na szczęście Erik ma rację, że zwykły jednoargument negatywny ma taki sam efekt jak+1
(często używany pozbyć się nawiasów, ponieważ negatywne i jednostkowe mają wyższy priorytet niż większość innych operatorów).Perl 6 ,
1512 bajtów-3 bajty tjanks do nwellnhof przypominając mi o tau
Wypróbuj online!
Anonimowy Jakakolwiek lambda, która używa tej formuły
(a/b/tau).floor+1
. Tau jest dwa razy pi. Dwie anonimowe zmienne$
są przymuszane do liczby0
, która jest używana do+|0
uzupełnienia liczby (bitowa lub 0) i dodania jednej+!$
(plus nie zero).źródło
Python 2 ,
47454443 bajtyWypróbuj online!
źródło
l/(r+r)//pi+l/l
i zapisać bajt.05AB1E , 6 bajtów
Port komentarza @flawr w Python 2 .
Trwa wejście w porządku
radius
,distance
.Wypróbuj online lub sprawdź wszystkie przypadki testowe .
Wyjaśnienie:
źródło
PHP, 47 bajtów
Wypróbuj online .
źródło
Ruby , 29 bajtów
Wypróbuj online!
źródło
C, 46 bajtów
Jestem nowy w PPCG, więc nie jestem pewien, czy muszę liczyć inne części w liczbie bajtów, takie jak
potrzebne do funkcji ceil, która zwiększy liczbę do 64 bajtów
źródło
#include
i tym podobne do całkowitej liczby bajtów. Link do internetowego zestawu testów jest zawsze mile widziany, oto jeden, który możesz dołączyćCatholicon , 8 bajtów
Wyjaśnienie:
Nowa wersja (wbudowana pi zrobiła jeden bajt, zmieniono parametry podziału), 5 bajtów
źródło
J ,
109 bajtówWypróbuj online!
źródło
Stax , 5 bajtów
Uruchom i debuguj
źródło
MathGolf ,
65 bajtówCzęściowy port komentarza @flawr w Python 2 .
Pobiera dane wejściowe w kolejności
radius distance
.-1 bajt, ponieważ
ceil
właśnie dodano wbudowane, zastępującfloor+1
.Wypróbuj online .
Wyjaśnienie:
źródło
C (gcc) ,
454745 bajtówRozsądnym przybliżeniem liczby pi jest 355/113. Ponieważ obwód C = 2 * r * PI, zamiast pi możemy użyć tau, co wtedy wynosi oczywiście ~ 710/113. 710 ma dogodne czynniki 2 * 5 * 71, co jest zwięźle wyrażone jako
'G' * '\n'
.Dodajemy jeden (r/r
), aby wymusić zaokrąglanie do nieskończoności.Edycja: Moja sztuczka była zbyt sprytna dla własnego dobra: oczywiście sprawiła, że zawiodła, jeśli odległość była wielokrotnością obwodu.
Wypróbuj online!
źródło
Julia 1.0 , 20 bajtów
Wypróbuj online!
źródło
R ,
3932 bajty-7 bajtów Dzięki Giuseppe
Wypróbuj online!
Wydaje mi się, że można na pewno zagrać w golfa, ale teraz jestem trochę leniwy, aby coś z tym zrobić
źródło
min , 16 bajtów
Zmienia odległość i promień na stosie w tej kolejności. Następnie dzieli przez tau, zaokrągla i tworzy liczbę całkowitą.
źródło
Galaretka , 6 bajtów
Wypróbuj online!
źródło
Japt, 7 bajtów
Wypróbuj tutaj
źródło
JavaScript (węzeł Babel) , 25 bajtów
-2 bajty przy użyciu komentarza @flawr = D. -1 od @Kevin. -7 od @Shaggy
Wypróbuj online!
źródło
a=>b=>Math.ceil(a/(b+b)/Math.PI)
32 bajty. :)Dart ,
4746 bajtówWypróbuj online!
źródło
Haskell, 25 bajtów
źródło
(!)
zamiastf
i używaćceiling$
zamiast tegoceiling(..)
oszczędza 3 bajty: Wypróbuj online!Lua ,
61585749 bajtówWypróbuj online!
Dzięki KirillL. -8 bajtów.
źródło
Common Lisp, 36 bajtów
Wypróbuj online!
źródło
Tcl , 50 bajtów
Wypróbuj online!
Tcl , 53 bajty
Wypróbuj online!
Brak stałej lub funkcji pi powoduje, że przegrywam konkurencję golfową!
źródło
[incr i]
jest dość sprytny, ale myślę, że możesz użyć$d/$d
lub$r/$r
zamiast tego.PowerShell,
535251 bajtów-1 bajt dzięki @mazzy
-1 bajt po tym, jak zdałem sobie sprawę, że nie potrzebuję średnika po
param()
blokuWypróbuj online!
Pobiera dane wejściowe z dwóch parametrów wiersza polecenia, odległości
-d
i promienia-r
.źródło
param($d,$r);($a=[math])::ceiling($d/($r+$r)/$a::pi)
JavaScript (węzeł Babel), 23 bajty
Wypróbuj online!
źródło
Clojure , 50 bajtów
Anonimowa funkcja, która przyjmuje dwie liczby całkowite
a
ib
jako argumenty: odpowiednio odległość i promień koła.Wypróbuj online!
(count " ")
2
źródło
TI-Basic (seria 83), 12 bajtów
Pobiera dane wejściowe jako listę promienia i odległości w
Ans
: na przykład{0.9999:12.5663:prgmX
.e^(ΔList(ln(Ans
weźmie stosunek tych odległości imin(
zamieni to na liczbę. Następnie dzielimy przezTmax
, który jest parametrem graficznym domyślnie równym 2π. Wreszcie-int(-
bierze pułap.źródło
Pari / GP , 23 bajty
Wypróbuj online!
źródło