那些年,我们一起做过的 Java 课后练习题(21 - 25)

题目

求 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


题目

总结

谈到面试,其实说白了就是刷题刷题刷题,天天作死的刷。。。。。

为了准备这个“金三银四”的春招,狂刷一个月的题,狂补超多的漏洞知识,像这次美团面试问的算法、数据库、Redis、设计模式等这些题目都是我刷到过的

并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)

我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...

66个Java面试知识点

架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)

我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...

算法刷题(PDF)

我的美团offer凉凉了?开发工程师(Java岗)三面结束等通知...

些题目都是我刷到过的

并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)

[外链图片转存中…(img-9uPcl4WB-1714222377634)]

66个Java面试知识点

架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)

[外链图片转存中…(img-fogokjBh-1714222377635)]

算法刷题(PDF)

[外链图片转存中…(img-aBkh0Gw6-1714222377635)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值