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;
}

相关推荐
超级大只老咪7 小时前
数组相邻元素比较的循环条件(Java竞赛考点)
java
小浣熊熊熊熊熊熊熊丶7 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
毕设源码-钟学长7 小时前
【开题答辩全过程】以 公交管理系统为例,包含答辩的问题和答案
java·eclipse
啃火龙果的兔子7 小时前
JDK 安装配置
java·开发语言
星哥说事7 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
派大鑫wink7 小时前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
xUxIAOrUIII8 小时前
【Spring Boot】控制器Controller方法
java·spring boot·后端
Dolphin_Home8 小时前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
等....8 小时前
Miniconda使用
开发语言·python
zfj3218 小时前
go为什么设计成源码依赖,而不是二进制依赖
开发语言·后端·golang