Java - n的阶乘计算
2024-10-21 09:54:56
用递归方法,求10!的阶乘
分析:
- f(n) = n * f(n-1) n != 1 ----- 递推公式
- f(n) = 1 n = 1 ----- 结束条件
代码:
public class TestDiGui {
public static void main(String[] args) {
System.out.printf("%d! = %s", 10, fac(10));
} static long fac(int n) {
if(n == 1) {
return 1;
}else {
return n * fac(n-1);
}
}
}
代码分析:
当n = 10时,调用f(10),f(10)调用f(9),f(9)调用f(8),....,f(2)调用f(1),f(1)返回1,f(2)返回2 * 1,...,f(8)返回8 * 7 * 6 * 5 * 4 * 3 * 2 * 1,f(9)返回9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1,f(10)返回10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1,结果被printf打印输出
如图:
输出结果:
最新文章
- jquery easyui菜单树显示
- 构建ceph deb 安装包
- ffmpeg-20160816-bin.7z
- MultiProvider
- Linux下I/O模型
- 认识Runtime2
- python为什么有私有方法和变量
- PHP学习笔记05——面向对象
- linux下动态库编译的依赖问题
- document模板
- 使用jq深入研究轮播图特性
- 出现Data Tools 与VS 不兼容问题
- --@angularJS--angular与BootStrap3的应用
- 【机器学习实战】第13章 利用 PCA 来简化数据
- Unity塔防游戏开发
- 菜鸟玩云计算之十四:克隆虚拟机及ssh登录的问题
- Linux进程管理(第二版) --进程管理命令
- mock详解
- Linux上Oracle18C 系统表空间大小调整 adjust the system tablespace for oracle18c on linux
- excel数据 入库mysql 和 mysql数据 导入excel文件