题解 | #末尾0的个数#
末尾0的个数
http://www.nowcoder.com/practice/6ffdd7e4197c403e88c6a8aa3e7a332a
//输出因子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循环更方便。