このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1284632294/972
#  [1] 授業単元:C言語基礎実習  
#  [2] 問題文(含コード&リンク):ある整数 a をその数自身を除く約数をすべて足したときに 
#  その合計の値がaと同じになるとき、その数を和の完全数といいます。 
#  512以下の和の完全数を見つけて表示するプログラムを作成しなさい。 
#  出力は以下のようにする事。 
#  6=1+2+3 
#  28=1+2+4+7+14 
#  ・ 
#  ・ 
#  ・ 
#   

'ある整数 a をその数自身を除く約数をすべて足したときにその合計の値がaと同じになるとき、その数を和の完全数といいます。512以下の和の完全数を見つけて表示する' :-
        for(1,N,512),
        findall(M,(
                    for(1,M,N),
                    \+(M=N),
                    0 is N mod M),
                L),
        加算(L,_合計の一),
        完全数は表示する(N,_合計の一),
        N = 512,!.

完全数は表示する(N,_合計の一) :-
        N is truncate(_合計の一),
        concat_atom(L,'+',S),
        write_formatted('%t=%t\n',[N,S]),!.
完全数は表示する(N,_合計の一).