このディレクトリの索引

http://pc12.2ch.net/test/read.cgi/tech/1153585095/790
#  [1] 授業単元:Python  
#  [2] 問題文(含コード&リンク): 課題2  
#  http://pc12.2ch.net/test/read.cgi/tech/1153585095/789
#  上から2段目から最後の段までに現れる0から9数字の  
#  総出現数と各数字毎の出現比率を出力する。  
#  [3] 環境:特になし  
#  [4] 期限: 明日まで  
#  [5] その他の制限:  
#
#  129個  
#  0: 10回 3%  
#  1: 43回 20%  
#  2: 8回 2%  
#  ...  
#  9: 18回 6%  
#  のように出力してください。  

modulus38([X],X,CL,CL). 
modulus38(L,X,CL1,CL) :- 
        modulus38_1(L,L2,CL1,CL2), 
        modulus38(L2,X,CL2,CL). 

modulus38_1([_],[],CL,CL). 
modulus38_1([A,B|R1],[C|R2],CL1,CL) :- 
        C is (A+B) mod 10, 
        n番目に1を加算(C,CL1,CL2), 
        modulus38_1([B|R1],R2,CL2,CL). 

n番目に1を加算(N,L,X) :- 
        length([_|L1],N),
        append(L1,[B|R],L), 
        B_2 is B + 1, 
        append(L1,[B_2|R],X). 

sum_list([],0). 
sum_list([N|R],X) :-
        sum_list(R,Y),X is Y + N.