利用递归调用技术编写求n!的方法 fact(int n)

来源:百度知道 编辑:UC知道 时间:2024/07/04 08:09:38
不好意思,用java编写啊

static int fact(int n) {
if (n == 1)
return 1;
else if (n == 0) {
return 1;
} else if (n < 0) {
System.out.println("error");
return 0;
} else
return fact(n - 1) * n;
}

P.s.你是不是在做作业啊?我靠,学递归?小伙子,编程你这样学,学完了准备干嘛呢?

P.s.看了楼下的做了修改忘判断正负了

#include<iostream.h>
int fac(int n)
{
int f;
if(n<0)cout<<"n<0,数据错误";
else if(n==0||n==1)f=1;
else f=fac(n-1)*n;
return f;
}
void main()
{
int n;
int y;
cout<<"请输入一个正数:";
cin>>n;
y=fac(n);
cout<<n<<"!="<<y<<endl;
}

public class Text{
public static void main(String[] args){
System.out.println(method(n));
}
public static int method(int n){
if(n ==1 )
return 1;
else
return n * method(n-1);
}
}

<
编写一个递归函数,求N个数的和,在主函数中调用,要求从键盘输入N的值和N个数 编写程序使用递归方法,利用辗转想除法,求两个非负数的最大公约数,编写主函数调用该函数 利用递归函数调用方式编写一个程序(c语言) 编写一个调用递归函数的程序,求出两个自然数m和n的最小公倍数。 C语言编写: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 关于C的递归调用,求N!有问题,请高手帮忙!! C语言应用递归调用的方法分别求1+2+3.......+100或N! 计算机软件技术基础利用减半递推技术,写出求长度为n的数组中最大元素的递归算法。设n=2^k,其中k>=1! 求一道递归调用的题目 C语言 利用递归函数求X的n次方程序填空