Emita o resultado a seguir (que é o resultado do cálculo de 6 * 9 em bases de 2 a 36). Verifique se as letras estão em maiúsculas e se a multiplicação é gerada em todas as linhas.
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
O menor código vence.
code-golf
kolmogorov-complexity
Konrad Borowski
fonte
fonte
Calculate 6*9 in different bases
Eu me pergunto por que a declaração está assim redigida, por que6*9
e não simplesmente54
? Talvez o significado originalmente pretendido fosse esse6
e9
deveria ser interpretado nem sempre como decimal, mas em bases diferentes? Isso tornaria a declaração mais lógico, e que o problema mais interessante (mas então devemos começar a partir de base de 10 a 36)6
e9
são números de um dígito. Eles significam o mesmo em todas as bases em que esses dígitos são válidos.6 * 9 = 110110
não faz muito sentido ...Respostas:
05AB1E ,
2120 bytesExperimente online!
fonte
GolfScript, 39 caracteres
O resultado pode ser visto aqui .
fonte
Oitava, 49
for i=2:36printf("6 * 9 = %s\n",dec2base(54,i))end
fonte
Javascript,
5755 bytesPode ser reduzido para 49 com
alert
, mas não quero submeter ninguém a isso ...fonte
(54)
pode ser substituída por54.
(para escrever54..toString
).for(i=1;++i<37;)
também salva um personagem.Rubi (47)
Bem, eu sei que a solução GolfScript é melhor, mas ei, pelo menos isso não é esotérico ...
fonte
2.step{|t|puts"9 * 6 = "+54.to_s(t).upcase}
salva alguns bytes. Ele sai com um erro, mas isso é ok: D .Python, 89
fonte
b=2
<linebreak>while b<37:print'6 * 9 =',B(54);b+=1
(assumindo caráter único para uma quebra de linha nix *)Python 2.7 (
124114)EDIT: Corte alguns fluff graças ao comentário de @ boothby abaixo
Eu acho que o Python está indo bem, considerando que ele não tem built-in (que eu conheço) para fazer a conversão base, portanto, isso deve ser feito em código;
fonte
print'\n'.join(...for x in y)
é um pouco mais do que issofor x in y:print...
.Perl 6 , 36 bytes
fonte
Mathematica 40
Não está na disputa (letras minúsculas usadas):
fonte
Julia, 61
para b = 2: 36; @printf ("6 * 9 =% s \ n", maiúsculo (base (b, 54))); end
Muito indolor, além de lembrar de usar a macro @printf versus printf.
Base de Importação; não é necessário ...
fonte
for b=2:36;println("6 * 9 = $(uppercase(base(b,54)))");end
também é bom ...Perl
Tinha que usar o módulo Math :: BaseCnv
35 caracteres sem a
use
declaração:54 caracteres com a
use
declaração:Não tenho certeza de como você pontuaria isso, portanto, ambos estão incluídos.
A estrutura do mapa BLOCK LIST foi utilizada. Lista é o intervalo de 2 a 36, solicitado. A carne está na
cnv($NUMBER, $BASE)
função e o mapa é um loop implícito.fonte
use
afirmação. O primeiro não funciona no meu perl.J -
7870Haskell - 137
fonte
CoffeeScript 71
Ligação
fonte
C (
166151)Livre-se de alguns caracteres desnecessários e altere algumas declarações. Supõe que você esteja executando o programa sem argumentos.
fonte
Clojure, 75
(for[i(range 2 37)](println"6 * 9 ="(.toUpperCase(Integer/toString 54 i))))
fonte
Python 3, 83 bytes
fonte
'\n'.join('6 * 9 = '+numpy.base_repr(54,i)for i in range(2,37))
vez de*['6 * 9 = '+numpy.base_repr(54,i)for i in range(2,37)],sep='\n'
salvar um byte.Dardo, 75 bytes
O dardo é um pouco detalhado quando se trata do stdlib, mas ei ... pelo menos você pode lê-lo: P
fonte
Scala, 71
fonte
Lisp comum: 56 caracteres
fonte
Sábio, 48:
Vergonha Sage imprime em minúsculas ... Eu seria apenas uma sobre Howard. Ou, acho, errado e empatado com David Carraher.
fonte
Adiante, 54
fonte
/// , 133 bytes
Experimente online!
fonte
SpecBAS - 48 bytes
SpecBAS é realmente bastante competitivo para uma mudança :-)
fonte
8o ,
6562 bytesEste é um programa completo. Sair após a execução
Explicação
fonte