//输出因子2和5个数的最小值 //判断因子并传回因子2的个数和5的个数 int fac(int n, int& n2,int & n5) { while (n > 1) { if (n % 2 == 0) { n2++; n /= 2; } else if (n % 5 == 0) { n5++; n /= 5; } else break; } return 0; } int main() { int n = 0; cin >> n; int n2 = 0, n5 = 0; while (n > 1) { fac(n, n2, n5); n -= 1; } int tem = n2 < n5 ? n2 : n5; cout << tem; while循环比for循环更方便。