Aby uczcić Dzień Zaokrąglonego Pi, musisz skorzystać z dzisiejszej daty, aby stworzyć program, który przyjmuje średnicę koła i wyprowadza jego obwód, mnożąc średnicę przez 3,1416, gdzie 3,1416 należy uzyskać przy użyciu dzisiejszej daty.
Input 3
Output 9.4248
etc.
Nie przyjmuje daty jako danych wejściowych. Nie musisz używać wszystkich składników daty, ale cyfry pi muszą pochodzić z formatowania obiektu Date lub użycia obiektu date w celu jego uzyskania. Odpowiedzi do tej pory wyglądają dobrze.
Nie jestem pewien, co jeszcze określić. Wszystkie dotychczasowe odpowiedzi odpowiadają oczekiwaniom.
Moim ograniczeniem było to, że musisz wymyślić komponenty daty, aby stworzyć Pi. Możesz oczywiście użyć składników, pomnożyć przez 0, a następnie dodać 3,1416, ale to jest nudne i marnuje cenne znaki!
Najkrótszy kod wygrywa!
źródło
pi
Odpowiedzi:
05AB1E,
1613 bajtówWypróbuj online.
Niestety błąd w pływakach powoduje, że ten bajt jest dłuższy: /
Dzięki Adnan za grę w golfa z 3 bajtów.
Wyjaśnienie
źródło
¦¦
zamiast2000-
jest o trzy bajty krótszy;)žfžežg
brzmi jak miłe czeskie słowo :)C, 32 bajty
Jeśli utrata nieco większej dokładności jest w porządku, mogę sprowadzić ją do około 29 bajtów, wciąż zachowując dokładność do 4 cyfr po przecinku (w chwili opublikowania):
źródło
#include<time.h>
?#include
standardowych nagłówków bibliotek. Ręczne włączenie ich jest prawie zawsze dobrym pomysłem, ale ich pominięcie znacznie ułatwia grę w golfa w C.main
funkcji do zademonstrowania, jak wywołać to makro pojedynczego argumentu.AppleScript,
122120 bajtówZmienna a
Zmienna a jest obiektem daty. Odwołuję wszystkie moje informacje o dacie.
Miesiąc, dzień i rok
Wywołania miesiąca, dnia i roku faktycznie zwracają obiekt, który normalnie zwraca ciąg. Aby właściwie użyć go jako liczby, otoczyłem go po obu stronach operacjami matematycznymi, aby automatycznie rzucić go na liczbę.
1e-4
1e-4
jest bajtem krótszym niż.0001
.mod.01
.
działa jako separator autokorekty AppleScript. Korzystając z tego, mogę używać modulo i nadal zachować dla mnie bajt.Brak raportu zwrotnego / dziennika
Ostatnia obliczona automatycznie wartość jest zwracana przez program. Podaję liczbę obliczoną za pomocą pola zwrotu.
A oto gif z tego działa!
źródło
Mathematica + coreutils, 20 bajtów
Na szczęście Mathematica interpretuje wynik polecenia zewnętrznego jako wyrażenie. W tym przypadku wynikiem jest poprawna liczba zmiennoprzecinkowa, więc
#
implikowane jest mnożenie przez argument funkcji .źródło
Lua,
3027 bajtówPomnóż pierwszy argument wiersza polecenia przez bieżącą datę w formacie
mm.ddyy
, który jest w rzeczywistości03.1416
.źródło
Bash + bc,
2520 bajtówDzięki manatwork za oszczędność pięciu bajtów.
Stosowanie:
źródło
date +%m.%d%y\*$1|bc
PowerShell v2 +,
462825 bajtówCałkiem proste. Pobiera dane wejściowe
$args[0]
i mnoży je przez datę sformatowaną jakoM.dy
(Get-
implikowana). Zauważ, że uruchomienie v2 może zająć dużo czasu, ponieważ iteruje możliwe podstawieniaDate
(np. Sprawdzenie%PATH%
zmiennej środowiskowej itp.) Przed ustabilizowaniem sięGet-Date
.źródło
-f
?-Format
. Przy takich flagach wystarczy być jednoznacznym (na przykład, jeśli masz-Debug
i-Delimiter
jako potencjalne opcje, potrzebujesz co najmniej trzech liter do odróżnienia). Usunięcie spacji oznacza, że PowerShell próbuje parsować flagę,-F"M.dy"
ale nie może znaleźć argumentu, który pasuje, i dlatego generuje błąd.-f
operatora. Teraz ma sens.R 3.2.4,
555147 bajtówedit Zdałem sobie sprawę, że mogę skorzystać
scan
dzięki @FryAmTheEggMan. Zmniejszone 4 bajty dzięki @MickyT.Pierwsza próba golfa. Szczęśliwego dnia pi!
źródło
f=
.scan()*as.numeric(format(Sys.Date(),'%m.%d%y'))
as.double
zamiastas.numeric
zapisuje dodatkowy bajtGNU Awk, 23 znaki
Przykładowy przebieg:
źródło
Pyth, 19 bajtów
Wypróbuj tutaj!
Oczywiście działa tylko w dniach 14.03.2016.
Wyjaśnienie
źródło
PHP,
45262524 bajtówUżywa kodowania Windows-1252
Uruchom tak:
date()
zamiastDateTime::format
źródło
$n
adresu/?n=3
w adresie URL.php.ini
pliku. Aross powiedział wcześniej, że chce odejść od takiej metody.Python 2, 58 znaków
Spróbuj!
Wyjaśnienie:
źródło
JavaScript,
4139 znakówKorzysta z zastrzeżonej metody tylko dla przeglądarki Firefox .
Dzięki:
Uruchomienie przykładowe (konsola internetowa Firefox):
Uwaga: to się nie powiedzie w konsoli Firebug. Wydaje się, że Firebug wykonuje pewne rozwinięcie ciągu szablonu, przekształcając się
`%m.%d%y`
w`%__fb_scopedVars(m).d%y`
przed przekazaniem go do kodu.źródło
d=>new Date().toLocaleFormat`%m.%d%y`*d
new
z tego miejsca.('...')
2 backtickami, to 2 bajty.Rubinowy, 40 bajtów
źródło
Mathematica, 54
źródło
Vitsy + coreutils, 19 bajtów
Wyjaśnienie:
Nie można uruchomić w trybie awaryjnym, ponieważ używa ona metody wykonawczej Runtime.
źródło
SpecBAS , 39 bajtów
Nic niezwykłego. Formatuje datę jako ciąg, a następnie mnoży dane wejściowe przez
VAL
(wartość) tego ciągu.źródło
Oracle 11g,
5049 bajtówjeden bajt mniej, dzięki @MickyT
źródło
FROM
Python 3,
7454 bajtówużywając modułu czasu zamiast daty i godziny, takiego jak Loovjo's Answer
poprzednie rozwiązanie
źródło
Arkusze Google, 13 bajtów
Bajty są obliczane z jednym bajtem na znak, zero bajtów na komórkę, z wyjątkiem wyznaczonej komórki wejściowej, dwa bajty. Znak równości, aby rozpocząć formułę, nie jest liczony. (Nie wiem, czy to standard, popraw mnie, jeśli się mylę).
Uruchom snippet, aby zobaczyć kod.
Działa to, ponieważ możesz zdefiniować własne formaty dat w Arkuszach Google. Zrobiłem to tak, że tak jest
<month>.<day><year>
.źródło
Pyke ,
1615 bajtów, kodowanie ASCIIWyjaśnienie:
lub 11 bajtów (niekonkurencyjne), (dodaje pojedyncze ciągi, 2-cyfrowy rok, sumy ciągów)
Wyjaśnienie:
źródło
JavaScript ES6,
6866 bytesSaved 2 bytes thanks to dev-null!
Anonymous function. Some uses:
źródło
with
Tcl/Tk, 58 bytes
(That's a complete program. If you want to cheat and remove the explicit
puts
statement then it's only 51 bytes -- you'd have to start tclsh and type/paste the following in directly, though:)źródło
Java 114 bytes
źródło
float p(float d){return d*Float.parseFloat(new SimpleDateFormat("MM.ddyy").format(new Date()));}
Racket, 112 characters
Reads the number from input in standard reader syntax.
źródło
TI-84 Basic, 30 bytes
Works on TI-83/84 calculators; E is the scientific notation token and ~ is the negative token.
Test Case
źródło
R 48 bytes
źródło
MATL, 17 bytes
Try it online!
źródło
TI-BASIC,
16139 bytesWe round
π
to a number of decimal places equal to the minimum of{month,day,year}
, and then multiply it by the input.This is a function that takes input through X. Store it to one of the Y-variables, for example
Y1
, and then call likeY1([number])
on the homescreen.źródło
Ans
is allowed.APL, 19 bytes
⎕TS
is2016 3 14 12 34 56 789
i.e. March 14rd, 2016 right before 12:35 pm⍕
make into string, i.e.'2016 3 14 12 34 56 789'
8↑2↓
drop first two ('20'
) then take next eight ('16 3 14 '
)2⌽
rotate two characters, giving' 3 14 16'
⍎
make into numbers (3 14 16
)⌽
reverse the list, giving16 14 3
0.01⊥
evaluate in base ¹⁄₁₀₀, = 16 × 0.01² + 15 × 0.01¹ + 3 × 0.01⁰ = 0.0016 + 0.15 + 3 = 3.1416⎕×
multiply with inputor
⎕TS
is2016 3 14 12 34 56 789
, i.e. March 14rd, 2016 right before 12:35 pm⍕
make into string, i.e.'2016 3 14 12 34 56 789'
7↑2↓
drop first two ('20'
) then take next seven ('16 3 14'
)2⌽
rotate two characters, giving' 3 1416'
⍎
make into numbers (3 1416
)⌽
reverse the list, giving1416 3
1E¯4⊥
evaluate in base ¹⁄₁₀₀₀₀, = 1416 × 0.01¹ + 3 × 0.01⁰ = 0.1416 + 3 = 3.1416⎕×
multiply with inputźródło