このディレクトリの索引

# 出典 :: #658 # [1] C言語とアルゴリズム # [2] 関数(非回帰) #  キーボードから自然数を入力し1からその自然数までの # 二乗和を求めるプログラムを作成しなさい。 # ただし二乗和を求める部分は関数(関数名をsqrsumとする)にすること。 # [実行例] # 自然数を入力して下さい.         ←自然数の入力をうながすメッセージを表示 # 10                    ←自然数を入力してEnter # 1から10までの自然数の二乗和は371です.  ←計算結果を表示する t735 :- キーボードから自然数を入力し1からその自然数までの二乗和を求める. キーボードから自然数を入力し1からその自然数までの二乗和を求める :- 自然数を得る(_自然数), '1からその自然数までの二乗和'(_自然数,_二乗和), writef('1から%wまでの自然数の二乗和は%wです.\n',[_自然数,_二乗和]). 自然数を得る(_自然数) :- write('自然数を入力してください : '), 整数を得る(_自然数), _自然数 > 0. 整数を得る(_整数) :- 行入力(_行), atom_number(_行,_整数), integer(_整数). 行入力(_行) :- read_line_to_codes(current_input,_コードならび), atom_codes(_行,_コードならび). '1からその自然数までの二乗和'(_自然数,_二乗和) :- '1からその自然数までの二乗和'(1,_自然数,1,_二乗和). '1からその自然数までの二乗和'(_自然数,_自然数,_二乗和,_二乗和) :- !. '1からその自然数までの二乗和'(_自然数_1,_自然数,_累計_1,_二乗和) :- '自然数に達するまでの二乗和を累計して行く'(_自然数_1,_自然数,_累計_1,_二乗和). '自然数に達するまでの二乗和を累計して行く'(_自然数_1,_自然数,_累計_1,_二乗和) :- succ(_自然数_1,_自然数_2), _累計_2 is _累計_1 + _自然数_2 * _自然数_2, '1からその自然数までの二乗和'(_自然数_2,_自然数,_累計_2,_二乗和).