POJ-1401, LiveArchive-2158: Factorial
問題概要
n(<10^9)が与えられる。n!の末尾に0がいくつあるか求める問題。
解法
5で何回割れるか。
acceptされたコード
計算量O(log N)。
#include <cstdio> using namespace std; int main(){ int T; scanf("%d", &T); while(T--){ int n, ans = 0; scanf("%d",&n); for(n/=5; n; n/=5){ ans += n; } printf("%d\n", ans); } return 0; }