1024! 末尾有多少个0

这个问题关键就是算出整个算术式中5因子的个数。

View Code
 1 #include <iostream>
2 using namespace std;
3
4 void main()
5 {
6 int count =0;
7 int N =1024;
8 int c = 5;
9 while(c < 1024)
10 {
11 count += N/c;
12 c = c*5;
13 }
14 cout << count << endl;
15 }

 分析一下:

  是5的倍数的数有: 1024 / 5 = 204个
  是25的倍数的数有:1024 / 25 = 40个   // 25倍数的数有40个,因为在5的倍数时,算过一个5,所以这里只算作一个5
  是125的倍数的数有:1024 / 125 = 8个 // 同上
  是625的倍数的数有:1024 / 625 = 1个 // 同上

所以,结果是 253

posted on 2012-04-05 11:48  笔记吧... 可能只有自己看得懂  阅读(2200)  评论(1编辑  收藏  举报