「プロジェクトオイラー問62」の編集履歴(バックアップ)一覧に戻る
numToList(N,Result):-!, N3 is N*N*N, number_chars(N3,List), msort(List,Result). search(N,Counts,N3):- numToList(N,List), member([4,List,N3],Counts), !. search(N,Counts,Result):- numToList(N,List), select([C,List,N3],Counts,Counts1), !, N1 is N+1, C1 is C+1, search(N1,[[C1,List,N3]|Counts1],Result). search(N,Counts,Result):- !, N1 is N+1, N3 is N^3, numToList(N,List), search(N1,[[1,List,N3]|Counts],Result). main62:- search(1,[],Ans),write(Ans).