このディレクトリの索引
#  出題場所 :: http://toro.2ch.net/test/read.cgi/tech/1381909900/619
#  2014の2014乗の下4桁を標準出力に表示せよ 
#   
#  制限 
#  ・インクルードはstdio.hのみ 
#  ・main実行開始から、出力間までの時間が1秒未満 
#  ・実行ファイルサイズ 50KB未満 
# 
# 

'2014の2014乗の下4桁を標準出力に表示せよ' :-
        '2014の2014乗の下4桁を'(1,2014,_下4桁ならび),
        標準出力に表示せよ(_下4桁ならび),!.

'2014の2014乗の下4桁を'(2014,N,_下4桁ならび) :-
        下4桁ならび(N,_下4桁ならび),!.
'2014の2014乗の下4桁を'(_nth1_1,N_1,N) :-
        N_2 is N_1 * 2014 mod 10000,
        _nth1_2 is _nth1_1 + 1,
        '2014の2014乗の下4桁を'(_nth1_2,N_2,N).

下4桁ならび(N,[_1,_2,_3,_4]) :-
        number_chars(N,L2),
        append(L1,L2,[_1,_2,_3,_4]),
        all(L1,0).

標準出力に表示せよ(_下4桁ならび) :-
        writef('%t%t%t%t\n',_下4桁ならび).

all([],_).
all([V|R],V) :-
        all(R,V).