O desafio
Escreva um programa que use dois números inteiros da entrada padrão, separados por vírgula e imprima uma visualização da multiplicação longa desses dois números inteiros na saída padrão.
Por exemplo:
Entrada
14, 11
Saída do programa
14
x11
_____
14
14
______
154
Entrada
-7, 20
Saída do programa
-7
x20
_____
00
14
_____
-140
Suponha sempre entradas e números corretos no intervalo [-999, 999]
Critérios de vitória
O código mais curto vence!
code-golf
ascii-art
arithmetic
Averroes
fonte
fonte
Respostas:
Perl, 108 caracteres
Melhor da raça 108 char, incorporando algumas idéias da Orabig.
Solução anterior de 139 caracteres
fonte
$y=~/\d/g
truque foi inteligenteMathematica
213 217 197 193 186 184 193 184177Código
Uso
fonte
IntegerString[921]
você quer dizerIntegerString[b]
?"x "
.Python,
174170:Uso: exatamente como solicitado, execute e insira os valores na entrada padrão.
Para ver em execução: http://ideone.com/S8xNb
Resultado:
Agradecimentos a fabiocerqueira e beary605 e David Carraher
fonte
print '\n'
->print'\n'
,10*a) for i,d in enumerate
->10*a)for i,d in enumerate
,"%9s\n%9i" % (h,a*b)
->"%9s\n%9i"%(h,a*b)
Python, 145, outra resposta com saída um pouco diferente.
Código
Uso
apenas como solicitado
Resultado
Para ver em execução: http://ideone.com/mdR18
fonte
Perl ,
157151150144141133 caracteres:Uso:
fonte