您的位置:首页 > 其它

#DayOne#,分别用循环和递归的方式实现阶乘

2015-04-22 17:10 751 查看
对任意一个给定的整数求其阶乘,可以分别采用循环和递归的方法实现。采用递归的思想解决问题主要就是控制好入口和出口,入口及最初始的外部对函数的调用,出口即对于继续递归的限制条件。


循环的方法实现阶乘

public static int circleFactorial(int n){
int sum=1;
if(n<0){
throw new IllegalArgumentException("必须为整数!");
}
for(int i=1;i<=n;i++){
sum*=i;
}
return sum;
}


2.递归的方法实现阶乘

public static int recursiveFactorial(int n){
int sum=1;
if(n<0){
throw new IllegalArgumentException("必须为整数!");
}
if(n==1){
return 1;
}else{
sum=n*recursiveFactorial(n-1);
return sum;
}
}


3.main()函数

public static void main(String[] args) {
int n=5;
System.out.println("用循环的方法求"+n+"的阶乘,其结果为:
"+circleFactorial(n));
System.out.println("用递归的方法求"+n+"的阶乘,其结果为:
"+recursiveFactorial(n));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  递归 控制