2014年3月10日月曜日

プロジェクトオイラー問1

Problem 1 「3と5の倍数」 

10未満の自然数のうち, 3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり, これらの合計は 23 になる.
同じようにして, 1000 未満の 3 か 5 の倍数になっている数字の合計を求めよ.
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%201



解法
 Prolog言語


 check(N,N):-member(D,[3,5]),N mod D=:=0,!.
 check(_,0):-!.
 
 search(1000,Sum):-!,write(Sum).
 search(N,Sum):-
  !,
  check(N,Add),
  Sum1 is Sum+Add,
  N1 is N+1,
   search(N1,Sum1).
 

 main1:-search(1,0).

0 件のコメント:

コメントを投稿