请教一个编程题目的解法
求N!算出来的结果有多少位.思路是什么?到底该怎么样求?我的数学功底不好,想了半天还是没什么头绪!,希望各位帮忙指点指点!不甚感激~~~~~~~~~~~~~~~先定义2个整形数据N和SUM
输入N,设定初始SUM为1
然后以N为控制变量,用for(i=1,i++,i<=N)来循环.每次循环都把SUM乘以i
这样就达到了N!的目的
不是这样的!!我是想问,如果你输入一个数N,算出N!那么N!有多少位.比如输入1,2,3.则输出1.如果再输入32000,则输出130271.
真是不好意思,我没问清楚,还是非常感谢上面的朋友!!
先用递归求N!
int Account = 1; //位数
long Num = 10;
long Sum=N!
bool T = true;
while( T )
{
Sum /= Num;
if( Sum == 0 ) break;
Account ++;
}
试试,应该可以。