「プロジェクトオイラー問13」の編集履歴(バックアップ)一覧に戻る

プロジェクトオイラー問13 - (2014/02/13 (木) 10:50:02) のソース

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

Problem 13 「大数の和」 †
以下の50桁の数字100個の和の上位10桁を求めよ.
詳細はリンク先を参照のこと。

解法
与えられたデータをテキストファイルにリスト形式で保存しそれを読み込んで集計し目視で上位10桁を抽出します。
それだけです。
この種の言語では読み込んだテキストファイルを組み合わせてコードとして成立させるというテクがあるそうです。


 sum([],0):-!.
 sum([X|Xs],Result):-sum(Xs,Re),Result is Re+X.
 myread(FN):-
 	open(FN,read,IS),
          read_term(IS,A,[]),
 	sum(A,Ans),
 	write(Ans),
 	close(IS).
 main:-myread('test1.txt').