このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1267796762/465
#  【 課題 】 
#  􀂄 2.3 完全数とはその数の約数の和がその数に等しい数. 
#  例) 6 = 1 + 2 + 3. 引数が完全数かを判定する 
#  PerfectNumber.javaを書け. 
#  􀂉 実行例) PerfectNumber 28 
#  1 2 4 7 14 = 28 is perfect number 
#  【 形態 】1. Javaアプリケーション(main()で開始)  
#  【 期限 】10/27 am9:20まで  
#  【 Ver  】】"1.6.0_22"  
#  【 補足 】初心者なのでわからないことだらけです 
#  宜しくお願いします 
# 
# 

program :-
        user_parameters(_パラメータ),
        _パラメータ = [Atom],
        atom_to_term(Atom,N,_),
        完全数かを判定する(N).

完全数かを判定する(N) :-
        findall(M,(
                    for(1,M,N),
                    \+(M=N),
                    0 is N mod M),
                L),
        sum(L,Sum),
        N is truncate(Sum),
        conat_atom(L,' + ',S),
        write_formatted('%t = %t 完全数です\n',[S,N]).