题目
求 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);
}
}
结果
题目
利用递归方法求 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);
}
}
}
结果
题目
有 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);
}
}
结果
题目
总结
谈到面试,其实说白了就是刷题刷题刷题,天天作死的刷。。。。。
为了准备这个“金三银四”的春招,狂刷一个月的题,狂补超多的漏洞知识,像这次美团面试问的算法、数据库、Redis、设计模式等这些题目都是我刷到过的
并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)
66个Java面试知识点
架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)
算法刷题(PDF)
些题目都是我刷到过的
并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)
[外链图片转存中…(img-9uPcl4WB-1714222377634)]
66个Java面试知识点
架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)
[外链图片转存中…(img-fogokjBh-1714222377635)]
算法刷题(PDF)
[外链图片转存中…(img-aBkh0Gw6-1714222377635)]