Code-golf: вывод таблицы умножения на консоль

18
задан 7 revs, 5 users 70% 19 August 2010 в 20:21
поделиться

39 ответов

PHP, 67 символов

while(++$x<10){$y=0;while(++$y<10)printf("%02d ",$x*$y);print"\n";}
0
ответ дан 30 November 2019 в 05:34
поделиться

Рубин, 49 символов

1.upto(9){|n|puts"%02d "*9%(n..81).step(n).to_a}

PS. В Wolfram Alpha это 23 символа DS.

0
ответ дан 30 November 2019 в 05:34
поделиться

Repent, 11 , 10 символов

↓1⇄.⇄^↓↻*;

Здесь используется мой собственный язык игрушечных языков на основе стека Repent (который я скоро выпущу, когда он будет готов ). Мне грустно видеть, что J побеждает его, потому что я разработал его только для того, чтобы победить J, Perl и Golfscript в кодовом гольфе.

V_1v.v^↓↻*;

Интерпретатор (Альфа)

Справочник по языку (Альфа)

0
ответ дан 30 November 2019 в 05:34
поделиться

Общие Лисп, 79 символов (включая пробелы):

(dotimes (i 9) (dotimes (j 9) (format t "~2,'0d " (* (1+ i) (1+ j)))) (terpri))

С чем-то похожим на более традиционное форматирование:

(dotimes (i 9) 
  (dotimes (j 9) 
    (format t "~2,'0d " (* (1+ i) (1+ j)))) 
  (terpri))

Затем есть 106-символьная версия, демонстрирующая мощь форматтера:

(format t "~{~{~2,'0d~^ ~}~%~}"
        (loop for i from 1 to 9 
           collect (loop for j from 1 to 9 
                      collect (* i j))))
0
ответ дан 30 November 2019 в 05:34
поделиться

C # с использованием агрегата, 118 символов

var r=Enumerable.Range(1,9).ToList();
r.ForEach(i=>Console.WriteLine(r.Aggregate("",(a,b)=>a+=(i*b).ToString("00 "))));
0
ответ дан 30 November 2019 в 05:34
поделиться

Bash, 59 символов

for i in `seq 9`;do seq -w $i $i 99|sed 9q;done|column -c80
01  02  03  04  05  06  07  08  09
02  04  06  08  10  12  14  16  18
03  06  09  12  15  18  21  24  27
04  08  12  16  20  24  28  32  36
05  10  15  20  25  30  35  40  45
06  12  18  24  30  36  42  48  54
07  14  21  28  35  42  49  56  63
08  16  24  32  40  48  56  64  72
09  18  27  36  45  54  63  72  81
0
ответ дан 30 November 2019 в 05:34
поделиться

BASH 53

for((i=1;i<10;i++));do seq -s' ' $i $i $((9*i));done
0
ответ дан 30 November 2019 в 05:34
поделиться

JavaScript - с консолью - 65 символов

for(i=0,a='';++i<10;a+='\n')for(j=0;++j<10;a+=i*j);console.log(a)

JavaScript - с html - 68 символов

for(i=0,a='';++i<10;a+='\n')for(j=0;++j<10;a+=i*j);document.write(a)
0
ответ дан 30 November 2019 в 05:34
поделиться

Haskell (не перечисляет понимания) 71 после импорта

Жалко У haskell нет printf в своей библиотеке прелюдии, но после импорта в 71 символ ghci другая программа haskell использовала понимание списков:

Prelude> :module Text.Printf
Prelude Text.Printf> let r=[1..9]
Prelude Text.Printf> mapM_(\y->(mapM_(\x->printf"%02d "(x*y))r)>>(putStrLn ""))r
01 02 03 04 05 06 07 08 09
02 04 06 08 10 12 14 16 18
03 06 09 12 15 18 21 24 27
04 08 12 16 20 24 28 32 36
05 10 15 20 25 30 35 40 45
06 12 18 24 30 36 42 48 54
07 14 21 28 35 42 49 56 63
08 16 24 32 40 48 56 64 72
09 18 27 36 45 54 63 72 81
0
ответ дан 30 November 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: