Java递归基础案例——阶乘
【摘要】
阶乘的案例非常的小所以更好理解。
package Action; public class test { public static void main(String[] args) { //计算10的阶乘 //这次由于只要最终结果,故而直接调用输出即可 //无论多少次循环, 最终值有一个返回值 System.out.prin...
阶乘的案例非常的小所以更好理解。
package Action;
public class test {
public static void main(String[] args) {
//计算10的阶乘
//这次由于只要最终结果,故而直接调用输出即可
//无论多少次循环, 最终值有一个返回值
System.out.println(f(10));;
}
public static long f(int n) {
if (n == 1) { // 递归终止条件
return 1; // 由于是递归,故而1的时候就结束了
}
return n * f(n - 1); // 相同重复逻辑,缩小问题的规模
}
}
输出数据
3628800
正确。
那么换个方法测试一下:
package Action;
public class test {
public static void main(String[] args) {
int sum=1;//从1开始计算,如果是0那就结束了
//循环10次,不能从0开始,所以i<=10
for (int i = 1; i <= 10; i++) {
sum*=i;//累计就行了
}
System.out.println(sum);
}
}
输出结果
3628800
二次校验,正确。
希望此案例能让大家更加加深一步对递归的理解。
文章来源: laoshifu.blog.csdn.net,作者:红目香薰,版权归原作者所有,如需转载,请联系作者。
原文链接:laoshifu.blog.csdn.net/article/details/122793734
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)