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

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2028
Problem 28 「螺旋状に並んだ数の対角線」 †
らせん状に数を生成した時、対角線にある数の計をこたえる問題。

右角に注目すると、1,9,25、、、で、そこから辺の長さだけ引いた数が残りの3隅にでてます。


calc(N,Sum,Sum):-
	2*(N-1)+1>1001,
	!.
calc(N,Sum,Result):-
	Sum1 is Sum+(4*(2*N-1)^2-6*((N-1)*2)),
	N1 is N+1,
	calc(N1,Sum1,Result).
main:-calc(2,1,Ans),write(Ans).
最終更新:2014年12月01日 07:30