目录
1.编程求 1~10000 之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。
1.编程求 1~10000 之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。
例如,6 的因子有 1、2、 3,且 6=1+2+3,所以 6 是完全数。
package winterHolidayHomework;
//编程求 1~10000 之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。
//例如,6 的因子有 1、2、3,且 6=1+2+3,所以 6 是完全数。
public class Day2_1 {
public static void main(String[] args) {
int num = 0;
for (int i = 1; i <= 10000; i++) {//1~10000 之间的数
for (int j = 1; j < i; j++) {//验证对应的i是不是完全数
if (i % j == 0){
num += j;//如果j是这个i的因子就把j加到num里面
}
}
if (i == num ){
System.out.println("数字" + i + "是完全数~");
}
num = 0;//清零
}
}
}
2.猴子吃桃问题。
猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃 子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第 一天共摘下来多少个桃子?
package winterHolidayHomework;
public class Day2_2 {
public static void main(String[] args) {
//逆向思维:第10天1个,那么第9天=(第10天的桃子+1)* 2 ……
int total = 1;
int day = 10;
for (int i = 10; i > 0; i--) {
System.out.println("第"+day+"天,有桃子"+total+"颗");
total = (total+1) * 2;
day--;
}
}
}
本小节完^_^