java经典算法-day3
哈喽,各位小伙伴们好,我是喵手。
一、前言
正值金三银四好时节,又到了刷题月。xdm,有空的欢迎一起呀。无论你是挤公交还是坐地铁时间,随时随地皆可刷...你可以不用实操,你只需要看题思考,完后有空coding就好呀。接下来我要开启我的刷题之旅啦,喜欢的小伙伴欢迎点赞关注哦。
二、题目描述:
题目1:
判断101-200之间有多少个素数,并输出所有素数。
题目2:
打印出100-400之间所有的水仙花数 ,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 水仙花数 ,因为153=1的三次方+5的三次方+3的三次方。
三、思路分析:
题1、 判断101-200之间有多少个素数,并输出所有素数。
这题的话,与上一题相比,其实就简单些了,你只需要知道什么是素数就能解题了。
素数:素数即是质数,要求满足在大于1的自然数中,除了1和它本身以外不再有其他因数。
所以很简单吧,因为前几期有讲解过求质数的,对吧,所以直接直奔主题吧。
题2、打印出100-400之间所有的水仙花数
这一题与第二题差不多,都是求某种数,重点就是要知道水仙花数的符合规则,只要知道这个要求,算法实现就简单了。
水仙花数:是指一个三位数,其各位数字立方和等于该数本身。例如:153就是一个水仙花数 ,因为153=1的三次方+5的三次方+3的三次方。
所以,最暴力的解决思路就是,分别取三个数字进行立方再相加,看看是否会等于原值本身。
四、算法实现:
题1AC代码:
1、定义一个判断是否为质数的方法
/**
* 判断是否是质数
*/
public static boolean isZS(int num) {
//排除1不是质数
if (num == 1) {
return false;
}
for (int i = 2; i < num - 1; i++) {
//进行求余;只要余数为0,说明i被整除,该i就是num的一个因子。
if (num % i == 0) {
return false;
}
}
return true;
}
2、写一个循环结构,从101-200的范围。
/**
* 101-200范围内
*/
public static String printZS() {
//用于统计质数
String zs = "";
//循环101-200
for (int i = 101; i <= 200; i++) {
//true表示是质数
if (isZS(i)) {
zs += "," + i;
continue;
}
}
return zs;
}
题2AC代码:
1、先实现一个判断是否为水仙花数的方法。
/**
* 判断是否是水仙花数
*/
public static boolean isSXHS(int num) {
//取个位数
int x = num % 100 % 10;
//取十位数
int y = num / 10 % 10;
//取百位数
int z = num / 100;
//进行判断
if (num == (lf(x) + lf(y) + lf(z))) {
System.out.println(num + "=" + z + "的三次方+" + y + "的三次方+" + x + "的三次方");
return true;
}
return false;
}
/**
* 手动实现一个求立方的方法
*/
public static int lf(int num) {
return num * num * num;
}
2、控制循环范围,依次进行数字判断。
/**
* 100-400范围内
*/
public static String printSXHS() {
//用于统计水仙花数
String sxhs = "";
//循环100-400
for (int i = 100; i <= 400; i++) {
//true表示是水仙花数
if (isSXHS(i)) {
sxhs += "," + i;
continue;
}
}
return sxhs;
}
五、总结:
综上,这两道题稍微还是偏向数学题,运用数学思维进行coding即可,基本思路我再上方已经进行了详细介绍。
如果你有更好的解题思路或者想法,欢迎评论区留言告诉我哦,喵手感激不尽。
六、文末:
好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。
wished for you successed !!!
---------------------------------------------------------------------
⭐️若喜欢我,就请关注我叭。
⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。
---------------------------------------------------------------------
- 点赞
- 收藏
- 关注作者
评论(0)