Java----递归练习

1、按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4)

java 复制代码
public static void print(int num) {
   if (num > 9) {
       print(num / 10);
  }
   System.out.println(num % 10);
}

2、代码示例2 递归求 1 + 2 + 3 + ... + 10

java 复制代码
public static int sum(int num) {
   if (num == 1) {
       return 1;
  }
   return num + sum(num - 1);
}

3、 写一个递归方法,输入一个非负整数,返回组成它的数字之和. 例如,输入 1729, 则应该返回1+7+2+9,它的和是19

java 复制代码
public static int sum(int num) {
   if (num < 10) {
       return num;
  }
   return num % 10 + sum(num / 10);
}

4、 求斐波那契数列的第 N 项

java 复制代码
public static int fib(int n) {
   int last2 = 1;
   int last1 = 1;
   int cur = 0;
   for (int i = 3; i <= n; i++) {
       cur = last1 + last2;
       last2 = last1;
       last1 = cur;
  }
   return cur;
}

相关推荐
好家伙VCC14 分钟前
# IndexedDB实战进阶:从基础操作到高性能缓存架构设计在现代前端开发中,**IndexedDB** 作为浏览器端的持
java
夕除16 分钟前
js--21
java·python·算法
追随者永远是胜利者18 分钟前
(LeetCode-Hot100)21. 合并两个有序链表
java·算法·leetcode·链表·go
yuezhilangniao22 分钟前
从Next.js到APK:Capacitor跨平台(安卓端)打包完全指南
android·开发语言·javascript
重生之后端学习22 分钟前
994. 腐烂的橘子
java·开发语言·数据结构·后端·算法·深度优先
zls36536529 分钟前
C# WPF canvas中绘制缺陷分布map并实现缩放
开发语言·c#·wpf
星火开发设计31 分钟前
关联式容器:set 与 multiset 的有序存储
java·开发语言·前端·c++·算法
追随者永远是胜利者32 分钟前
(LeetCode-Hot100)72. 编辑距离
java·算法·leetcode·职场和发展·go
musenh34 分钟前
springmvc学习
java·学习
硬汉嵌入式35 分钟前
斯坦福大学计算机科学早期发布的简明C语言教程《Essential C》
c语言·开发语言