Dinosauria


私信TA

用户名:H2130823016

访问量:1488

签 名:

.....

等  级
排  名 1105
经  验 3208
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

从来如此,便对吗?

解题思路:
我用的递归
注意事项:
递归的结束条件不能仅仅是

(x==1)return 1;

而应该是

(x==1||x==0)return 1;或者直接是(x==0)return 1;

因为0的阶乘是1;如果只是等于1就返回的话,0的阶乘就没法算;
参考代码:

#include<stdio.h>

int main(){

int N,x;

scanf("%d",&N);

printf("%d",f(N));

return 0;

int f(int x){

int y;

if(x==1||x==0)

return 1;

else

y=x*f(x-1);

return y;

}


 

0.0分

2 人评分

  评论区

  • «
  • »