Demo1.
需求:统计”水仙花数”共有多少个
分析:
A:首先必须知道什么是水仙花数 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
B:定义统计变量,初始化值是0
C:三位数告诉了我们范围,用for循环就可以实现
D:获取每一个三位数的个,十,百的数据
E:按照要求进行判断
F:如果满足要求就计数。
class CountDemo { public static void main(String[] args) { //定义统计变量,初始化值是0 int count = 0; //三位数告诉了我们范围,用for循环就可以实现 for(int x=100; x<1000; x++) { //获取每一个三位数的个,十,百的数据 int ge = x%10; int shi = x/10%10; int bai = x/10/10%10; //按照要求进行判断 if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) { //如果满足要求就计数。 count++; } } System.out.println("水仙花数共有"+count+"个"); } }
Demo2.
我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。
请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
分析:
A:定义一个统计变量,默认值是0
B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度
我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度
C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
折叠一次有什么变化呢?就是厚度是以前的2倍。
D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++
E:输出统计变量。
class CountDemo { public static void main(String[] args) { //定义一个统计变量,默认值是0 int count = 0; //最高山峰是珠穆朗玛峰:8848m这是最终的厚度 //我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度 //为了简单,我把0.01变成1,同理8848就变成了884800 int end = 884800; int start = 1; while(start<end) { //只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++ count++; //折叠一次有什么变化呢?就是厚度是以前的2倍。 start *= 2; System.out.println("第"+count+"次厚度是"+start); } //输出统计变量。 System.out.println("要叠"+count+"次"); } }