やっぱり動的言語では安全なソフトは作れない 4
■ このスレッドは過去ログ倉庫に格納されています
0170デフォルトの名無しさん
2011/09/20(火) 14:41:29.76ピタゴラス数ならび(_要素値上限,_ピタゴラス数ならび) :-
findall([_x,_y,_z],(
ピタゴラス数(_要素値上限,_x,_y,_z)),
_ピタゴラス数ならび).
ピタゴラス数(_要素値上限,_x,_y,_z) :-
'1から_要素値上限までの整数リストを生成'(_要素値上限,L),
組合せ(L,3,[X,Y,_z]),
'X,Y,を三角形の短辺、_zを長辺だとみなすことができる'(X,Y,_z),
ピタゴラスの定理を適用する(X,Y,_z),
短辺はひっくり返すことも可能(X,Y,_x,_y).
'1から_要素値上限までの整数リストを生成'(_要素値上限,L) :-
findall(N,for(1,N,_要素値上限),L).
'X,Y,を三角形の短辺、_zを長辺だとみなすことができる'(X,Y,_z) :-
_z > X,
_z > Y,
_z < X + Y.
ピタゴラスの定理を適用する(X,Y,Z) :-
Z * Z =:= X * X + Y * Y.
短辺はひっくり返すことも可能(_x,_y,_x,_y).
短辺はひっくり返すことも可能(_y,_x,_x,_y).
■ このスレッドは過去ログ倉庫に格納されています