这一天晚上,弯通又做梦了,并且梦到了一个帅气的男孩纸!这个男孩给了弯通一个数字 n。男孩离开前告诉弯通,n!(n 的阶乘)的位数就是距离弯通脱单的天数。矜(ji)持(ke)的弯通想知道自己还有多久能脱单,快写个程序帮助他!
这题转换为数学问题也就是求n的阶乘然后求结果的位数
以下是我写的代码
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
long long sum=1;//sum 不够大的话会存不下阶乘的结果
for(int i=n;i>0;i--)//求阶乘
{
sum*=i;
}
int count=0;//计步器
while(sum>0)//求阶乘结果的位数
{
sum/=10;
count++;
}
cout<<count<<endl;
return 0;
}
方法比较笨,期待指正和更加简便的方法
标签:进化,1.10,int,sum,男孩,弯通,单身,阶乘,位数 From: https://blog.csdn.net/Hannes_zhang/article/details/141784134