このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1269438098/541
#  [1]プログラミング言語C 
#  [2]  
#   キーボードより入力した4桁の数値を逆転させて表示せよ.例えば,「1234」  
#   と入力した場合は,「4321」と表示され,「1」と入力した場合は,「1000」と  
#   表示させ,「3210」と入力した場合は,「123」と表示するものとする.  
#   
#        faXXXXX<1> ./kadai02                       ←プログラムの実行  
#   
#        数値を入力して下さい。  
#        3210                                       ←キーボードより入力  
#   
#        数値を逆転させた結果は、123です。  
#   
#        faXXXXX<2>   
#   
#   
#   
#  

キーボードより入力した4桁の数値を逆転させて表示 :-
      get_integer(_整数),
      '整数を逆転して先頭からの零を排除する。先頭が零でない場合は4桁の頭部零文字列に変換'(_整数,_逆転した4桁の数値文字列),
      write_formatted('%t\n',[_逆転した数値文字列]).

'整数を逆転して先頭からの零を排除する。先頭が零でない場合は4桁の頭部零文字列に変換'(_整数,_逆転した4桁の数値文字列),
      write_formatted('%t\n',[_逆転した数値文字列]).

'整数を逆転して先頭からの零を排除する。先頭が零でない場合は4桁の頭部零文字列に変換'(_整数,_逆転した4桁の数値文字列) :-
      number_chars(_整数,Chars),
      末尾の零ならびを排除かつ頭部に零を詰める(4,Chars,_4桁の数値文字列),
      reverse(_4桁の数値文字列,_逆転した4桁の数値文字列).

末尾の零ならびを排除かつ頭部に零を詰める(_,_文字ならび,[]) :-
      all(_文字ならび,'0'),!.
末尾の零ならびを排除かつ頭部に零を詰める(0,_文字ならび,_文字ならび) :- !.
末尾の零ならびを排除かつ頭部に零を詰める(_桁,_文字ならび,['0'|_未決定ならび]) :-
      _桁 > 0,
      _残り桁 is _桁 - 1,
      末尾の零ならびを排除かつ頭部に零を詰める(_残り桁,_文字ならび,_未決定ならび).