我试过了!!用long也不行,同学说可能用数组做会好一点!!!
公式中的i就是指输入,输入i=3,就返回length=1;
公式中的i就是指输入,输入i=3,就返回length=1;
好好享受我的大学生活~~~
[此贴子已经被作者于2007-7-24 16:17:30编辑过]
做出来了,有两种方法
第一种.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;
}
谢谢你们的帮助啊!!