このディレクトリの索引 http://pc12.2ch.net/test/read.cgi/tech/1255709298/752 # 正の整数nを2乗して得られる4桁の整数のうち、 # 2種類の数字しか現れないものをすべて挙げなさい t2_93 :- '正の整数nを2乗して得られる4桁の整数のうち、2種類の数字しか現れないものをすべて挙げる'(N), write_formatted('%t\n',[N]), fail. t2_93. '正の整数nを2乗して得られる4桁の整数のうち、2種類の数字しか現れないものをすべて挙げる'(N) :- Max is trunscate(sqrt(9999)), for(1,N,Max), N1 is N * N, number_chars(N1,L), '2種類の数文字しか現れない'(L). '2種類の数文字しか現れない'([A|R]) :- ならびから削除(A,R,R1), \+(R1=[]), all(R1,_). % *** user: 'ならびから削除' / 3 *** ならびから削除(_,[],[]) :- !. ならびから削除(_削除する要素,[_削除する要素|_残り対象ならび],_削除されたなら び) :- ならびから削除(_削除する要素,_残り対象ならび,_削除されたならび),!. ならびから削除(_削除する要素,[_要素|_残り対象ならび],[_要素|_残り削除ならび]) :- ならびから削除(_削除する要素,_残り対象ならび,_残り削除ならび),!.