永发信息网

问一道C++题目:用for语句,while语句和递归函数三种方法计算n! 。

答案:4  悬赏:60  手机版
解决时间 2021-05-01 14:53
  • 提问者网友:太高姿态
  • 2021-04-30 21:16
问一道C++题目:用for语句,while语句和递归函数三种方法计算n! 。
最佳答案
  • 五星知识达人网友:动情书生
  • 2021-04-30 21:21

求n!。当n=10:


for循环


int i=1;
int n=10;
int res=1;
for(;i<=n;i++)
{
res*=i;
}


while循环


int res=1;
int i=0;
int n=10;
while(++i<=n)
{
res*=i;
}


int fun(int n){
if(n==0 )
return 0;
else if(n==1)
return 1;
else
return (n*fun(n-1));
}

全部回答
  • 1楼网友:山有枢
  • 2021-05-01 00:46

求n!

for循环

int i=1; int n;

int result=1;

scanf("%d",&n); for(;i<=n;i++) { result*=i; }

while循环

int result=1; int i=1; scanf("%d",&n); while(i!=n) { rsult*=i;

i++ }

递归

int ff(int n){ if(n==0 ) return 1; else if(n==1) return 1; else return n*ff(n-1); }

main()

{int n,result;

scanf("%d",&n);

result=ff(n);

printf("n!=%d",result);

}

  • 2楼网友:动情书生
  • 2021-05-01 00:07

int n;

for(int i=1;i<=n;i++)

{

i=*i;

}

  • 3楼网友:孤独的牧羊人
  • 2021-04-30 22:57
for: long n=9,result=1; for(;n>0;n--){ result *= n; } while: long n=9,result=1; while(n){ result *= n; n--; } 递归。 long fun(int n){ if(n==0 || n==1)return 1; else return (long)(n*fun(n-1)); } 代码自己补充完整吧。。不理解的可以问我。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯