このディレクトリの索引
#  出題場所 :: http://toro.2ch.net/test/read.cgi/tech/1357191974/955
#  お題:自然数nの階乗の素因数2の個数を求める。(2014年センター試験) 
#  n=5 -> 3 
#  n=13 -> 10 
# 
# 

'自然数nの階乗の素因数2の個数を求める。(2014年センター試験)'(_n,_自然数nの階乗の素因数2の個数) :-
        findsum(_素因数2の個数,(
                    between(1,_n,N),
                    findsum(1,(
                                nth1(_nth1,_,_),
                                (\+(0 is N mod (2 ^ _nth1)),!,fail;true)),
                            _素因数2の個数)),
                _自然数nの階乗の素因数2の個数).

findsum(A,B,C) :-
        findall(A,B,L),
        sumlist(L,C).