Wyprowadza następujący wynik (który jest wynikiem obliczenia 6 * 9 w zasadach od 2 do 36). Upewnij się, że litery są wielkie, a samo mnożenie jest wyprowadzane w każdym wierszu.
6 * 9 = 110110
6 * 9 = 2000
6 * 9 = 312
6 * 9 = 204
6 * 9 = 130
6 * 9 = 105
6 * 9 = 66
6 * 9 = 60
6 * 9 = 54
6 * 9 = 4A
6 * 9 = 46
6 * 9 = 42
6 * 9 = 3C
6 * 9 = 39
6 * 9 = 36
6 * 9 = 33
6 * 9 = 30
6 * 9 = 2G
6 * 9 = 2E
6 * 9 = 2C
6 * 9 = 2A
6 * 9 = 28
6 * 9 = 26
6 * 9 = 24
6 * 9 = 22
6 * 9 = 20
6 * 9 = 1Q
6 * 9 = 1P
6 * 9 = 1O
6 * 9 = 1N
6 * 9 = 1M
6 * 9 = 1L
6 * 9 = 1K
6 * 9 = 1J
6 * 9 = 1I
Najkrótszy kod wygrywa.
code-golf
kolmogorov-complexity
Konrad Borowski
źródło
źródło
Calculate 6*9 in different bases
Zastanawiam się, dlaczego sformułowanie to brzmi tak, dlaczego,6*9
a nie po prostu54
? Być może pierwotnie zamierzone znaczenie było takie6
i9
powinno być interpretowane nie zawsze jako dziesiętne, ale w różnych podstawach? To uczyniłoby to zdanie bardziej logicznym, a problem bardziej interesujący (ale wtedy powinniśmy zacząć od podstawy 10 do 36)6
i9
są liczbami jednocyfrowymi. Oznaczają to samo w każdej bazie, w której te cyfry są ważne.6 * 9 = 110110
nie ma większego sensu ...Odpowiedzi:
05AB1E ,
2120 bajtówWypróbuj online!
źródło
GolfScript, 39 znaków
Wynik można zobaczyć tutaj .
źródło
Oktawa, 49
for i=2:36printf("6 * 9 = %s\n",dec2base(54,i))end
źródło
JavaScript,
5755 bajtówMożna skrócić do 49
alert
, ale nie chcę nikogo poddawać ...źródło
(54)
mogą być zastąpione przez54.
(do zapisu54..toString
).for(i=1;++i<37;)
zapisuje również postać.Rubin (47)
Wiem, że rozwiązanie GolfScript jest lepsze, ale hej, przynajmniej nie jest to ezoteryczne ...
źródło
2.step{|t|puts"9 * 6 = "+54.to_s(t).upcase}
oszczędza kilka bajtów. To wyjście z błędem, ale to jest ok: D .Python, 89
źródło
b=2
<podział linii>while b<37:print'6 * 9 =',B(54);b+=1
(zakładając pojedynczy znak dla podziału linii * nix)Python 2.7 (
124114)EDYCJA: Wytnij trochę puchu dzięki komentarzowi @ boothby poniżej
Myślę, że Python ma się dobrze, biorąc pod uwagę, że nie ma wbudowanego (o którym wiem) do konwersji podstawowej, więc należy to zrobić w kodzie;
źródło
print'\n'.join(...for x in y)
jest raczej dłuższy niżfor x in y:print...
.Perl 6 , 36 bajtów
źródło
Mathematica 40
Niekwestionowane (użyte małe litery):
źródło
Julia, 61 lat
dla b = 2: 36; @printf ("6 * 9 =% s \ n", wielkie litery (podstawa (b, 54))); koniec
Całkiem bezbolesne, oprócz pamiętania o użyciu makra @printf kontra printf.
Baza importowa; nie są potrzebne ...
źródło
for b=2:36;println("6 * 9 = $(uppercase(base(b,54)))");end
jest również dobra ...Perl
Musiałem użyć modułu Math :: BaseCnv
35 znaków bez
use
instrukcji:54 znaki z
use
instrukcją:Nie wiem, jak byś to ocenił, więc oba są uwzględnione.
Wykorzystano strukturę BLOKUJ LISTĘ mapy. Lista jest zakresem od 2 do 36, o które wnioskowano. Mięso jest w
cnv($NUMBER, $BASE)
funkcji, a mapa jest domyślną pętlą.źródło
use
oświadczenie. Pierwszy nie działa w moim perlu.J -
7870Haskell - 137
źródło
CoffeeScript 71
Połączyć
źródło
C (
166151)Pozbyłem się niepotrzebnych postaci i zmieniłem niektóre deklaracje. Zakłada, że uruchamiasz program bez argumentów.
źródło
Clojure, 75
(for[i(range 2 37)](println"6 * 9 ="(.toUpperCase(Integer/toString 54 i))))
źródło
Python 3, 83 bajty
źródło
'\n'.join('6 * 9 = '+numpy.base_repr(54,i)for i in range(2,37))
zamiast,*['6 * 9 = '+numpy.base_repr(54,i)for i in range(2,37)],sep='\n'
aby zapisać bajt.Dart, 75 bajtów
Dart jest trochę gadatliwy, jeśli chodzi o stdlib, ale hej ... przynajmniej możesz to przeczytać: P
źródło
Scala, 71
źródło
Common Lisp: 56 znaków
źródło
Sage, 48:
Wstyd Sage drukuje małymi literami ... Byłbym tylko jednym nad Howardem. Albo, jak sądzę, źle i związany z Davidem Carraherem.
źródło
Dalej, 54
źródło
/// , 133 bajty
Wypróbuj online!
źródło
SpecBAS - 48 bajtów
SpecBAS jest naprawdę dość konkurencyjny dla zmiany :-)
źródło
8th ,
6562 bajtówTo jest kompletny program. Wyjdź po wykonaniu
Wyjaśnienie
źródło