NYOJ 84 阶乘的0
由于10可以分解为质因数2 * 5,所以可以将原阶乘分解求出2和5因子的数量,则末尾0的个数就是2和5中数量较少的那个的数量。
附ac代码:
#include <stdio.h> int main(){ int t, n; scanf("%d", &t); while(t-- && scanf("%d", &n)){ int a = 0, b = 0; //分别存储质因子‘2’和、‘5’的数量 int x = n; //副本 while(x) a += (x /= 2); while(n) b += (n /= 5); printf("%d\n", a < b ? a : b); } return 0; }