用 for 循环语句实现编写一个求n 阶乘的函数文件

找到一个 n!> 10100 的值(利用上题的n阶乘函数文件) 非常感谢你的回答,这两个问题实在是没有想出来,谢谢你们的帮忙

1、启动VB6.0,新建一个标准exe工程,如下图所示:

2、在窗体上绘制一个命令按钮,名称为Command1,如下图所示:

3、双击命令按钮进入代码窗口,如下图所示:

4、编写命令按钮单击事件过程。(第一种方法相对简单,就不过多解释。第二种方法,用到的是函数递归方法,在没有结束程序之前继续调用函数,相信读者会发现,n逐渐减一,所以每次乘进去都是前一个数减一,如下图所示:

5、按F5运行测试,如下图所示:

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-08-25
#include<stdio.h>
int fac(int n)
{int f=1;
 for(;n;)f*=n--;
 return f;
}
int main()
{int n;
 for(n=1;fac (n)<=10100;n++);
 printf("%d!=%d\n",n,fac(n));  
 return 0; 
}

本回答被网友采纳
第2个回答  2017-08-25
int fun(int maxsum)
{
    sum=1;
    int i=
    for(int i=1;;i++)
    {
        sum=sum*i;
        if(sum>maxsum)
            return i;
    }
    
}

第3个回答  2013-04-14
long int fun(int n)
{
long int temp;
int i;
for(i=1;i<=n;i++)
{
temp*=i;
}
return(temp);
}
main()
{
longint n=1;
while(fun(n)<10100)
{
n++;
}
printf("%ld",n);
return 0;
}

第4个回答  2013-04-14
/*实现这个程序,我用的是C语言很简单的程序,我们把n初始值赋值1,然后n每次加1,直到sum大于10100时,返回当前的n值*/
#include <stdio.h>
int NtoOne(int n)
{
int sum=1;
for(long i=n;;i++)
{
sum*=i;
if(sum>10100)//当sum大于10100时返回当前的i.
return i;
}
}
main()
{
int n;
n=1;//n从1开始
n=NtoOne(n);//函数n!
printf("%d",n);
getchar();
}
相似回答