黑马程序员技术交流社区
标题:
两个新手题(循环)
[打印本页]
作者:
刘印
时间:
2015-11-3 13:28
标题:
两个新手题(循环)
package cn.lyne;
/**
* 需求:我国最高山峰珠穆朗玛峰的告诉是8848米,现在我有一张足够大的纸,厚度是0.01米
* 请问我折叠多少次可以折成珠穆朗玛峰的高度?
* @author Administrator
*
*/
/* public class Demo {
public static void main(String[] args) {
int deep = 1;
int high = 884800;
int sum = 0;
while(true){
if(deep>high)
break;
deep*=2;
sum++;
}
System.out.println(sum);
}
}*/
/*
* 打印出所有的“水仙花数”
* 所谓“水仙花数”是指一个三位数字的立方和等于该数本身。
* 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方
* 思路:
* A:“水仙花数”是指一个三位数,告诉我们范围了。100-999
* B:一个数的个位的立方加上十位的立方加上百位的立方等于该数,
* C:如何获取该数的个位十位百位
* 结论:任意一个数,要想拿到拿到个/十/百/千位上的数就用这个数除对应的个十百千
* 再模以10;
* 153
* 153%10=个位
* 153/10%10=十位
* 153/10/10%10=百位
* X/10/10/10%10=千
*
*/
public class Demo{
public static void main(String[] args){
for (int i = 100; i < 1000; i++) {
int x = i%10;
int y = i/10%10;
int z = i/100%10;
int sum = x*x*x+y*y*y+z*z*z;
if(sum==i)
System.out.println(sum);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2