循环小题 153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。


1.153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+33*3。编程求出所有满足这种条件的三位十进制数,并从大到小进行输出

解题思路:此题就是简单的循环三重循环将每个三位数都遍历出来然后用if判断符合条件的数值,将数值赋给之前定义的值,然后输出即可


public class Main {

	public static void main(String[] args) {
		int sum = 0;
		for (int i = 1; i < 10; i++) {
			for (int j = 1; j < 10; j++) {
				for (int j2 = 1; j2 < 10; j2++) {
					if ((i*i*i)+(j*j*j)+(j2*j2*j2)==(i*100)+(j*10)+j2) {
						sum = (i*100)+(j*10)+j2;
						System.out.println(sum);
					}
				}
			}
		}
	}
}

2.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

解题思路:此题首先是根据已知条件第10天就剩一个桃子来判断第九天剩余的桃子,接着是第八天…第一天,找到每天减少的规律,逆向推出第一天桃子的数量


public class Main2 {

	public static void main(String[] args) {
		//由题意可知,
		//第九天吃过后就剩一个桃子,
		//那么第八天就是4个
		int tao = 1;//桃子数量
		int day = 10;//天数
		for (int i = day; i >0; i--) {
			 if (i<10) {//因为第十天没有吃桃,就不需计算
				tao = (tao+1)*2;
			}
		}
		System.out.println(tao);
	}
}

猜你喜欢

转载自blog.csdn.net/C_Scorpio/article/details/106909035