このディレクトリの索引
#   Mを以下の条件を満たす最小の集合とする。
#  ・1∈M
#  ・n∈Mならば2n+1∈M
#  ・n∈Mならば3n+1∈M
#  ・n∈Mならば5n+1∈M
#  Mの要素を小さい順に出力せよ。

'Mを以下の条件を満たす最小の集合とする。 ・1∈M ・n∈Mならば2n+1∈M ・n∈Mならば3n+1∈M ・n∈Mならば5n+1∈M Mの要素を小さい順に出力する'(_nの限界値) :-
        'Mの要素を小さい順に出力'(1,_nの限界値,[],M),
        write_formatted('%t\n',[M]).

'Mの要素を小さい順に出力'(N,_nの限界値,M,M) :-
        N > _nの限界値,!.
'Mの要素を小さい順に出力'(_n,_nの限界値,M1,[_n|R2]) :-
        _n_1 is 2 * _n + 1,
        _n_2 is 3 * _n + 1,
        _n_3 is 5 * _n + 1,
        sort([_n_1,_n_2,_n_3|M1],L2),
        L2 = [Min|R],
        'Mの要素を小さい順に出力'(Min,_nの限界値,R,R2).