toj1605 Factorial

来源:互联网 发布:apache工作原理 编辑:程序博客网 时间:2024/05/21 18:44

题目链接:http://acm.tju.edu.cn/toj/showp.php?pid=1065

题目大意:求阶乘末尾0的个数

思路:n!末尾零的个数   =  [n/5]+[n/25]+[n/125]+....    [x]表示取整   而[n/5^(x+1)]=[[n/5^x]/5]  所以计算后一项直接拿前一项除以5取整就可以了

代码:


#include<iostream>
using namespace std;
int main()
{
 int t,n,i,k=0;
 cin>>t;
 for(i=0;i<t;i++)
 {
  k=0;
  cin>>n;  
  while(n>=5){
   n=n/5;         
   k+=n;
  }

  cout<<k<<endl;
 }
 return 0;
}

原创粉丝点击