このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1276873238/745
#  問題 
#  1が連続しない2進数を1から小さい順に1000個求めよ。 
#  例 
#  10 => OK 
#  110 => NG 
#  10101 =>OK 
#  11011 =>NG 
# 
# 

'1が連続しない2進数を1から小さい順に1000個求めよ。' :-
        '1が連続しない2進数を1から小さい順に1000個求めよ。'([1],1).

'1が連続しない2進数を1から小さい順に1000個求めよ。'([1|L],_度数) :-
        atomic_list_concat([0,b|[1|L]],S),
        atom_to_term(S,X,_),
        writef('%t: %t=%t\n',[_度数,X,S]),
        _度数 = 1000,!.
'1が連続しない2進数を1から小さい順に1000個求めよ。'([1|L],_度数_1) :-
        _度数_2 is _度数_1 + 1,
        '1が連続しない2進数を1から小さい順に1000個求めよ。'([0|[1|L]],_度数_2).
'1が連続しない2進数を1から小さい順に1000個求めよ。'([0|L],_度数) :-
        member(N,[1,0]),
        '1が連続しない2進数を1から小さい順に1000個求めよ。'([N|[0|L]],_度数).