このディレクトリの索引
#  出典 :: スレ立てるまでもない質問はここで135匹目 #794"
#  100という整数があります
#  これを25から40の範囲の整数として3等分します
#  例
#  30, 30, 40
#  35, 35, 30
#  25, 40, 35


'100という整数があります。これを25から40の範囲の整数として3等分します。'(N1,N2,N3) :-
        findall(N,between(25,40,N),L),
        重複組合せ(L,3,[N1,N2,N3]),
        100 is N1 + N2 + N3.

重複組合せ(X,1,[A]) :-
        member(A,X).
重複組合せ([A|Y],N,[A|X]) :-
        N > 1,
        M is N - 1,
        重複組合せ([A|Y],M,X).
重複組合せ([_|Y],N,A) :-
        N > 1,
        重複組合せ(Y,N,A).