100! = m * 10n ; 其中 m不被10整除,n就是100!末尾零的个数。由于2的个数比5多,所以只要计算5的个数就可以了。 #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int count = 0; for (int i=1; i!=101; i++) for (int j=i; !(j%5) && j>0; j/=5) count++; cout << count; system("PAUSE"); return EXIT_SUCCESS; }