2008-04-20から1日間の記事一覧

fizzbuzz

僕のprolog力を精一杯使って解いた! fizzbuzz(N) :- fizzbuzz_sub(1, N). fizzbuzz_sub(Current, Max) :- Current > Max, !. fizzbuzz_sub(Current, Max) :- (Current mod 15 =:= 0 -> write('fizzbuzz'); Current mod 3 =:= 0 -> write('fizz'); Current m…

ニュートン法で平方根

Prologで作る数学の世界―Prologそして集合‐位相‐群の第3章の問題。ニュートン法で平方根を求めろ。 newton(N,R) :- newton_sub(N, N, R), !. newton_sub(N, Xn, Xn) :- Xn ** 2 - N < 0.00000001. newton_sub(N, Xn, R) :- Xn1 is Xn - ((Xn ** 2 - N) /(2 …