#include<iostream> using namespace std; int main() { int i,n,sum=1,p,x=0,y=0,q; cin>>n; q=n; while(n/5>0)//求n阶乘中含有5的个数 {y=y+n/5;n=n/5;} for(i=1;i<=q;i++) { p=i; while(p%5==0)//出去5的因子 p=p/5; while(p%2==0) { if(x<y)//除去含有5等个数的2的因子 {p=p/2;x++;}//x y分别为2 5的个数 else break; } sum=sum*p; sum=sum%10; } cout<<sum<<endl; cout<<y<<endl;//连续0的个数 return 0; }
n阶乘求最后非0数字及最后面连续0的个数
最新推荐文章于 2020-06-24 09:42:52 发布