このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 131代目 #422 # [1] 授業単元: c言語 # [2] 問題文 # 課題1 整数 n を入力すると n から1 までを出力する # プログラムを作成せよ。 # 課題2 整数 n を入力すると1からn まで出力する。 # ただし、3の倍数か、5の倍数の時には数字の右側に* と表示すること。 # プログラムを作成せよ。 # 課題3 整数 n を入力すると1 から n までの間の、 # 3か5いずれかの倍数の個数を数えて表示するプログラムを作成せよ。 '整数 n を入力すると n から1 までを出力する'(_n) :- forall('n から1 までを'(_n,X),writef('%w ',[X])). 'n から1 までを'(_n,X) :- between(1,_n,_m), X is _n - _m + 1. '整数 n を入力すると1からn まで出力するただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(_n) :- '1からn まで出力するただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(_n). '1からn まで出力するただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(_n) :- '1からn まで'(_n,X), '出力するただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(X). '1からn まで'(_n,X) :- between(1,_n,X). '出力するただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(X). 出力する(X), 'ただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(X). 出力する(X) :- writef('%w',[X]). 'ただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(X) :- '3の倍数か、5の倍数の時には数字の右側に* と表示'(X),!. 'ただし、3の倍数か、5の倍数の時には数字の右側に* と表示'(X) :- '* の文字数にに対応するスペースを表示する'. '3の倍数か、5の倍数の時には数字の右側に* と表示'(X) :- '3の倍数か、5の倍数の時には'(X), writef('%w* ',[X]). '3の倍数か、5の倍数の時には'(X) :- 0 is X mod 3. '3の倍数か、5の倍数の時には'(X) :- 0 is X mod 5. '* の文字数にに対応するスペースを表示する' :- write(' '). '整数 n を入力すると1 から n までの間の、3か5いずれかの倍数の個数を数えて表示する'(_n) :- '1 から n までの間の、3か5いずれかの倍数の個数を数えて表示する'(_n). '1 から n までの間の、3か5いずれかの倍数の個数を数えて表示する'(_n) :- '1 から n までの間の、3か5いずれかの倍数の個数を数えて'(_n,_3,_5), 表示する(_3,_5). '1 から n までの間の、3か5いずれかの倍数の個数を数えて'(_n,_3,_5) :- findall(A,'1からn までの間の、3か5いずれかの倍数'(A),L), 'の個数を数えて'(L,_3,_5). '1からn までの間の、3か5いずれかの倍数'(A) :- '1からn まで'(_n,X), '3の倍数か、5の倍数の時には'(X,A). '1からn まで'(_n,X) :- between(1,_n,X). '3の倍数か、5の倍数の時には'(X,3) :- 0 is X mod 3. '3の倍数か、5の倍数の時には'(X,5) :- 0 is X mod 5. 'の個数を数えて'(L,_3,_5) :- 度数(member(3,L),_3), 度数(member(5,L),_5). 度数(_目標,_度数) :- findall(_,_目標,L), length(L,_度数).