2014年11月14日金曜日

プロジェクトオイラー問1 「3と5の倍数」 †

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%201

プロジェクトオイラー問1。
多分中学生から対象にしてますね。
400番以降の問題は数学科でも対象にしてるのかという難易度ですが。
最初はまだ優しいです。
数式で一発ですがプログラム言語を使ってる解きますからそれっぽい解き方を採用しています。


いやあPrologは奥が深い。
それぞれの課題には一つ一つ意図(出題意図)がありそいつを活かしてやらないといけない。
愚かなPrologプログラマは計算量をとりそうな部分をカットカットカットするだけだ。
ただはみ出した部分をどうするかが個性でありオリジナリティなんだ。
そんなこともわからない人間は!を使うべきではない。
問題が気の毒だ。



add(N,N):-N mod 3=:=0,!.
add(N,N):-N mod 5=:=0,!.
add(_,0):-!.

calc(1000,Sum):-
!,
write(Sum).
calc(N,Sum):-
add(N,Add),
N1 is N+1,
Sum1 is Sum+Add,
calc(N1,Sum1).
main:-
calc(1,0).





カウボーイビバップパロです。

0 件のコメント:

コメントを投稿