このディレクトリの索引
問題
#  どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数をすべて求めよ。
#  例
#  76
#  3210
#  951 

どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数をすべて求める(_どの桁の数字も右隣の桁の数字よりも大きい2桁以上のすべての10進数) :-
        findall(_どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数,
                    どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数(_どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数)),
                _どの桁の数字も右隣の桁の数字よりも大きい2桁以上のすべての10進数).

どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数(_どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数) :-
        どの桁の数字も右隣の桁の数字よりも大きい(['9','8','7','6','5','4','3','2','1','0'],_どの桁の数字も右隣の桁の数字よりも大きい数字ならび),
        '2桁以上の10進数'(_どの桁の数字も右隣の桁の数字よりも大きい数字ならび,_どの桁の数字も右隣の桁の数字よりも大きい2桁以上の10進数).

どの桁の数字も右隣の桁の数字よりも大きい([A],[A]) :- !.
どの桁の数字も右隣の桁の数字よりも大きい([A|R1],[A|R2]) :-
        どの桁の数字も右隣の桁の数字よりも大きい(R1,R2).
どの桁の数字も右隣の桁の数字よりも大きい([_|R1],R2) :-
        どの桁の数字も右隣の桁の数字よりも大きい(R1,R2).

'2桁以上の10進数'([A,B|R],_2桁以上の10進数) :-
        number_chars(_2桁以上の10進数,[A,B|R]).