您的位置:首页 > 其它

HDU 1018 Big Number(数学知识)

2017-09-14 20:52 393 查看
Big Number

题意:n!的结果由多少位组成。

假设10^x近似n!,则x=lg(n!),展开x=lg(n)+lg(n-1)+lg(n-2)+...+lg1。

代码:

#include<stdio.h>
#include<math.h>

double solve(int n)
{
double cnt=0;
for(int i=2;i<=n;i++)
{
cnt+=log10(i);
}
return cnt;
}

int main()
{
int cas,n;
scanf("%d",&cas);
while(cas--)
{
scanf("%d",&n);
printf("%d\n",(int)solve(n)+1);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: