いろんな言語で宿題スレ
■ このスレッドは過去ログ倉庫に格納されています
0661デフォルトの名無しさん
2009/09/08(火) 00:59:52% Prolog
ウィルソンの定理による素数判定(X,素数です) :-
X > 0,
Y is X - 1,
階乗保存計算(Y,Z),
0 is (Z + 1) // X,!.
ウィルソンの定理による素数判定(X,素数ではありません) :-
X > 0,
Y is X - 1,
階乗保存計算(Y,Z),
not(0 is (Z + 1) // X),!.
階乗保存計算(0,1) :- !.
階乗保存計算(1,1) :- !.
階乗保存計算(N,X) :-
N2 is N - 1,
階乗保存計算(N2,Y),
X is N * Y,
asserta((階乗保存計算(N,X) :- !)).
■ このスレッドは過去ログ倉庫に格納されています