このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 132代目 #283 # [1] 授業単元: C言語演習 # [2] 問題文(含コード&リンク): 以下の掛け算の表示プログラムを作成しなさい。 #     1 2 3  4  5  6  7  8  9 10 #     2 4 6  8 10 12 14 16 18 20 #     3 6 9 12 15 18 21 24 27 30 #     ・ #     ・ #     ・ #    10・・・                    100 九九表示 :- forall( '重複順列で行、列を得て、それを乗じて表示して行く'(_行,_列,_積), '乗じた積を表示する。列が10の時は改行を追加する。'(_列,_積)). '乗じた積を表示する。列が10の時は改行を追加する。'(10,_積) :- writef(' %w\n',[_積]), '乗じた積を表示する。列が10の時は改行を追加する。'(_列,_積) :- _列 \== 10, writef(' %w ',[_積]). '重複順列で行、列を得て、それを乗じて表示して行く'(_行,_列,_積) :- 重複順列([0,1,2,3,4,5,6,7,8,9],2,[_行,_列]), _積 is _行 * _列. 重複順列(L,[]). 重複順列(L,[A|R]) :- member(A,L), 重複順列(L,R). 重複順列(L,0,[]). 重複順列(L,N,[A|R3]) :- N > 0, member(A,L), N_1 is N - 1, 重複順列(L,N_1,R3).