Wyzwanie
Napisz program, który pobiera dwie liczby całkowite ze standardowego wejścia oddzielone przecinkiem, a następnie drukuje wizualizację długiego mnożenia tych dwóch liczb całkowitych na standardowe wyjście.
Na przykład:
Wejście
14, 11
Wyjście programu
14
x11
_____
14
14
______
154
Wejście
-7, 20
Wyjście programu
-7
x20
_____
00
14
_____
-140
Zakładaj zawsze prawidłowe dane wejściowe i liczby w zakresie [-999, 999]
Kryteria wygranej
Najkrótszy kod wygrywa!
code-golf
ascii-art
arithmetic
Averroes
źródło
źródło
Odpowiedzi:
Perl, 108 znaków
Najlepsze z rasy 108 znaków rozwiązanie, zawierające kilka pomysłów z Orabig.
Wcześniej 139 znaków char
źródło
$y=~/\d/g
sztuczka była sprytnaMathematica
213 217 197 193 186 184 193 184177Kod
Stosowanie
źródło
IntegerString[921]
masz na myśliIntegerString[b]
?"x "
.Python,
174170:Zastosowanie: dokładnie zgodnie z żądaniem, uruchom i wprowadź wartości na standardowym wejściu.
Aby zobaczyć bieganie: http://ideone.com/S8xNb
Wynik:
Dzięki fabiocerqueira i beary605 oraz David Carraher
źródło
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, kolejna odpowiedź z nieco innym wyjściem.
Kod
Stosowanie
zgodnie z życzeniem
Wynik
Aby zobaczyć bieganie: http://ideone.com/mdR18
źródło
Perl ,
157151150144141133 znaków:Stosowanie :
źródło