参考:计算n阶乘中尾部零的个数
#include <stdio.h> #include <malloc.h> int f(int n) { if(n<5) return 0; return n/5+f(n/5); } int main() { int n,i; int *arr; scanf("%d",&n); arr=(int*)malloc(sizeof(int)*n); for(i=0;i<n;i++) { scanf("%d",&arr[i]); } for(i=0;i<n;i++) { arr[i]=f(arr[i]); printf("%d\n",arr[i]); } return 0; } #include <stdio.h> #include <string.h> #include <math.h> /* fun()函数:求n是5的几次幂 */ int fun(int n) { int i=0; while(n>=5) { if(n%5==0) { n/=5; i++; } else break; } return i; } /* sum(): */ int sum(int n) { int c=0; while(n>=5) { c+=fun(n); printf("%d--%d\n",n,fun(n)); n--; } return c; } int main() { printf("sum(%d)=%d\n",60,sum(60)); return 0; }