このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1342966104/465
#  [1] 授業単元:C言語徹底入門 
#  [2] 問題文(含コード&リンク):http://ime.nu/codepad.org/lgXR0ur1 
#  次のプログラムは書式指定可能な10進16進変換表示を行う関数プログラムである。 
#  関数の機能についてコメントで解説を入れ、同時にプログラムの流れを説明せよ。 
#  

'16進数文字表現'(N,_16進数文字表現) :-
        '16進数文字表現ならび'(N,[],L),
        atomic_list_concat(L,_16進数文字表現).

'16進数文字表現ならび'(0,L,L) :- !.
'16進数文字表現ならび'(N,L1,L) :-
        M is N mod 16,
        '16進数0-16文字表現'(M,A),
        N_1 is N // 16,
        '16進数文字表現ならび'(N_1,[A|L1],L).

'16進数0-16文字表現'(N,A) :-
        length(L,N),
        append([_|L],_,['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']),
        last([_|L],A).