用逆推方法求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;
}
用递归的方法求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 条评论) |