永发信息网

java输入一个数n,计算n的阶乘(5的阶乘=1*2*3*4*5)。

答案:1  悬赏:0  手机版
解决时间 2021-11-21 05:41
  • 提问者网友:容嬷嬷拿针来
  • 2021-11-21 02:28
java输入一个数n,计算n的阶乘(5的阶乘=1*2*3*4*5)。
最佳答案
  • 五星知识达人网友:一秋
  • 2021-11-21 03:11
1、首先要理解一下阶乘的公式:
n! =n*(n-1)*(n-2)*....*2*1,    5! = 5*4*3*2*1
#include           //头文件stdio.h在新浪博客中无法显示加上就可以了
int main()
{
int t=5,i=4;   //要是求其他的数的阶乘的话,把t的值改为其他数,
//再把i改为(t-1)就行了
while(i>=1)
{
t=t*i;
i--;
}

printf("5的阶乘结果是:%d
",t);

return 0;
}
2、运行结果如下:

3、上面这种方法虽然能求出结果,但是不能求任意的数,也没有考虑到0!=1,这种情况,我们来改进一下;
#include                      // //头文件stdio.h在新浪博客中无法显示加上就可以了
int main()
{
int n,jc;
int jiecheng(int j);

printf("请输入任意一个整数
");

scanf("%d",&n);
jc=jiecheng(n);

printf("该数的阶乘结果是:%d
",jc);

return 0;
}
int jiecheng(int j)
{
int i=j-1;
if(j==0 | j==1)  // 因为0的阶乘是1 ,1的阶乘也是1
j=1;
while(i>1)       //
{
j=j*i;
i--;
}
return(j);
}
4、运行结果如下:




我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯