用逆推和递归的方式求n!

阅读: 评论:0

用逆推和递归的方式求n!

用逆推和递归的方式求n!

  1. 用逆推方法求n!,从1开始一直乘到n

#include <stdio.h>                  
void main()
{//system("mode con cp select=65001");long fac(int n);int n;long fact=0;printf("请输入n的值:");scanf("%d",&n);fact=fac(n);printf("%d!=%dn",n,fact);
}
long fac(int n){int i;long fact=1;for(i=1;i<=n;i++){fact=fact*i;}return fact;
}

  1. 用递归的方法求n!

  • n=0,1时,n!=1

  • n>1时,n!=n*(n-1)!

#include <stdio.h>                  
void main()
{//system("mode con cp select=65001");long fac(int n);int n,y;long fact=0;printf("请输入n的值:");scanf("%d",&n);y=fac(n);printf("%d!=%dn",n,y);
}
long fac(int n){long f;if(n<0){printf("n<0,data error!");}else if(n==0 || n==1){f=1;}else{f=fac(n-1)*n;}return(f);
}

本文发布于:2024-01-30 04:35:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170656052319258.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:递归   方式   用逆推
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23