共计 2793 个字符,预计需要花费 7 分钟才能阅读完成。
本文已同步至:村雨遥
实例 21
题目
求 1! + 2! + 3! + … + 20! 的和。
剖析
循环求 1 ~ 20 的阶乘,而后将其进行求和即可。
实现
/** | |
* Created with IntelliJ IDEA. | |
* | |
* @author : cunyu | |
* @version : 1.0 | |
* @email : 747731461@qq.com | |
* @website : https://cunyu1943.github.io | |
* @date : 2021/6/3 22:48 | |
* @project : Java 编程实例 | |
* @package : PACKAGE_NAME | |
* @className : Example21 | |
* @description : | |
*/ | |
public class Example21 {public static void main(String[] args) { | |
long sum = 0; | |
long fac = 1; | |
for (int i = 1; i <= 20; i++) { | |
fac *= i; | |
sum += fac; | |
} | |
System.out.println("1!+2!+3!+……+20!=" + sum); | |
} | |
} |
后果
实例 22
题目
利用递归办法求 5!
剖析
找到边界条件 num = 1
,而后调用 fac(num) = num * fac(num - 1)
即可!
实现
/** | |
* Created with IntelliJ IDEA. | |
* | |
* @author : cunyu | |
* @version : 1.0 | |
* @email : 747731461@qq.com | |
* @website : https://cunyu1943.github.io | |
* @date : 2021/6/3 22:50 | |
* @project : Java 编程实例 | |
* @package : PACKAGE_NAME | |
* @className : Example22 | |
* @description : | |
*/ | |
public class Example22 {public static void main(String[] args) {System.out.println("5! =" + fac(5)); | |
} | |
/** | |
* 求 num 的阶乘 | |
* | |
* @param num | |
* @return num 的阶乘 | |
*/ | |
public static long fac(int num) {if (num == 1) {return 1;} else {return num * fac(num - 1); | |
} | |
} | |
} |
后果
实例 23
题目
有 5 集体坐在一起,问第五个人多少岁?他说比第 4 集体大 2 岁。问第 4 集体岁数,他说比第 3 集体大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 集体,说比第一个人大两岁。最初问第一个人,他说是 10 岁。请问第五个人多大?
剖析
其实就是一个反向遍历的过程,咱们晓得了第一个人的年龄,只有反推回去就能够晓得第五个人的年龄了,这是一个等差数列。
实现
/** | |
* Created with IntelliJ IDEA. | |
* | |
* @author : cunyu | |
* @version : 1.0 | |
* @email : 747731461@qq.com | |
* @website : https://cunyu1943.github.io | |
* @date : 2021/6/3 22:54 | |
* @project : Java 编程实例 | |
* @package : PACKAGE_NAME | |
* @className : Example23 | |
* @description : | |
*/ | |
public class Example23 {public static void main(String[] args) { | |
int age = 10; | |
for (int i = 2; i <= 5; i++) {age += 2;} | |
System.out.println("第 5 集体的年龄:" + age); | |
} | |
} |
后果
实例 24
题目
给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
剖析
输出整数之后,而后将其转换为字符串,通过求字符串长度就晓得这个数字时几位数了,而后再反向打印该字符串即可!
实现
import java.util.Scanner; | |
/** | |
* Created with IntelliJ IDEA. | |
* | |
* @author : cunyu | |
* @version : 1.0 | |
* @email : 747731461@qq.com | |
* @website : https://cunyu1943.github.io | |
* @date : 2021/6/3 23:14 | |
* @project : Java 编程实例 | |
* @package : PACKAGE_NAME | |
* @className : Example24 | |
* @description : | |
*/ | |
public class Example24 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); | |
System.out.println("输出一个整数"); | |
long num = scanner.nextLong(); | |
String str = Long.toString(num); | |
System.out.println("该数是一个" + str.length() + "位数!"); | |
System.out.print("该数逆序输入为:"); | |
for (int i = str.length() - 1; i >= 0; i--) {System.out.print(str.charAt(i)); | |
} | |
} | |
} |
后果
实例 25
题目
一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位雷同,十位与千位雷同。
剖析
既然曾经限定了 5 位数,那么输出一个 5 位数之后,合成出各位上的数字,而后判断个位和万位、十位与千位是否雷同即可!
实现
import java.util.Scanner; | |
/** | |
* Created with IntelliJ IDEA. | |
* | |
* @author : cunyu | |
* @version : 1.0 | |
* @email : 747731461@qq.com | |
* @website : https://cunyu1943.github.io | |
* @date : 2021/6/3 23:19 | |
* @project : Java 编程实例 | |
* @package : PACKAGE_NAME | |
* @className : Example25 | |
* @description : | |
*/ | |
public class Example25 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); | |
System.out.println("输出一个 5 位数"); | |
int num = scanner.nextInt(); | |
String str = Integer.toString(num); | |
if (str.charAt(0) == str.charAt(str.length() - 1) && str.charAt(1) == str.charAt(str.length() - 1 - 1)) {System.out.println(num + "是一个回文数"); | |
} else {System.out.println(num + "不是一个回文数"); | |
} | |
} | |
} |
后果
正文完