您的位置:首页 > 其它

HDU 1018 Big Number

2011-03-13 16:09 531 查看
Big Number
题意:求n!的位数。
分析:n(1 ≤ n ≤10^7),n很大,直接求麻烦。精确位数:sum = log10(1)+log10(2)+....log10(n-1)+log10(n).
#include <stdio.h>
#include <math.h>

int main()
{
//freopen("input.txt","r",stdin);
int n,i,cases;
double sum;
while(scanf("%d",&cases)!=EOF)
{
while(cases)
{
cases--;
sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=log10(i);  //循环把精确位数加起来
}
printf("%d/n",(int)sum);
}
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: