请教一个编程题目的解法
求N!算出来的结果有多少位.思路是什么?到底该怎么样求?我的数学功底不好,想了半天还是没什么头绪!,希望各位帮忙指点指点!不甚感激~~~~~~~~~~~~~~~不是这样的!!我是想问,如果你输入一个数N,算出N!那么N!有多少位.比如输入1,2,3.则输出1.如果再输入32000,则输出130271.
真是不好意思,我没问清楚,还是非常感谢上面的朋友!!
做出来了,有两种方法
第一种.int main()
{
int n, i, m ;
double s = 1;
while(cin >> n)
{
m = 0;
s = 1;
for(i = n; i; i--)
{
s *=i;
while(s>=10)
{
s/=10;
m++;
}
}
cout << ++m << endl;
}
return 0;
第二种:
int main()
{
int n, l;
double s;
while(cin >> n)
{
s = 0;
l = 0;
for (int i = 1; i <= n; i++)
s +=log10(i);
l = (int) s;
cout << ++l << endl;
}
return 0;
}
谢谢你们的帮助啊!!