您的位置:首页 > 编程语言 > Java开发

使用java计算一个数的阶乘--递归

2017-08-24 17:51 337 查看

1.计算一个数的阶乘,不使用递归

/**
* 打印5的阶乘到控制台
* 注意java中数据类型的最大值:
* Integer.MAX_VALUE=2147483647;
* Long.MAX_VALUE=9223372036854775807;
* Double.MAX_VALUE=1.7976931348623157E308
*/
@Test
public void getFactorial02(){
//打印5的阶乘到控制台
int num = 5;
int factorial = num;
if (num==1){
factorial = 1;
}else {
for (int i=1;i<num;i++){
factorial *= num-i;
}
}
System.out.println(factorial);
}

2.计算一个数的阶乘,使用递归

/**
* 递归求一个数的阶乘,打印5的阶乘到控制台
* 注意java中数据类型的最大值:
* Integer.MAX_VALUE=2147483647;
* Long.MAX_VALUE=9223372036854775807;
* Double.MAX_VALUE=1.7976931348623157E308
*/
@Test
public void getFactorial01(){
//打印5的阶乘到控制台
System.out.println(factorial(5));
}

/**
* 计算一个数的阶乘
* @param num
* @return
*/
private int factorial(int num){
if (num<=1){
return 1;
}else {
return num * factorial(num-1);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 递归
相关文章推荐