このディレクトリの索引

# 出典 :: C/C++言語の宿題片付けます132代目 #201 # [1] アルゴリズム # [2] 手入力したい数列の数をまず入力し、その数だけ数列を手入力します。 # その中に連続数がある場合、その連続数の個数を初めに入力した数から引いた結果を表示。 '手入力したい数列の数をまず入力し、その数だけ数列を手入力します。その中に連続数がある場合、その連続数の個数を初めに入力した数から引いた結果を表示' :- '手入力したい数列の数をまず入力し、その数だけ数列を手入力'(_入力した数列の個数,_数列), '入力した数列に連続数がある場合、その連続数の個数を初めに入力した数から引いた結果を表示'(_入力した数列の個数,_数列,_連続した数の数を差し引いた数列の個数). '入力した数列に連続数がある場合、その連続数の個数を初めに入力した数から引いた結果を表示'(_入力した数列の個数,_数列,_連続した数の数を差し引いた数列の個数) :- '入力した数列に連続数がある場合、その連続数の個数を'(_数列,_連続した数の数), _連続した数の数を差し引いた数列の個数 is _入力した数列の個数 - _連続した数の数. '入力した数列に連続数がある場合、その連続数の個数を'(_数列,_連続した数の数) :- findall(_, 連続数(_数列),_数列), length(L,_連続した数の数). 連続数(_数列) :- append(_,[M,N|_],_数列), 連続している(M,N). 連続している(M,N) :- succ(M,N). 連続している(M,N) :- succ(N,M). 表示(__連続した数の数を差し引いた数列の個数) :- writef('連続数を差し引いた数は %t です\n',[_連続した数の数を差し引いた数列の個数]). '手入力したい数列の数をまず入力し、その数だけ数列を手入力'(_入力した数列の個数,_数列) :- 整数を得る('数列の数の数を入力してください : ',true,_入手した数列の個数), findall(_数,( between(1,_入手した数列の個数,_), 整数を得る(_数)),_数列). 整数を得る(_催促,_評価,_整数) :- 催促後に行入力(_催促,_行), 整数検査(_行,_整数),!, 整数評価(_評価). 催促後に行入力(_催促,_行) :- write(_催促), 行入力(_行). 行入力(_行) :- read_line_to_codes(current_input,_文字コードならび), atom_codes(_行,_文字コードならび). 整数検査(_行,_整数) :- atom_number(_行,_整数), integer(_整数),!. 整数評価(_評価) :- call(_評価).