- 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);
- }
- }
- }
-
复制代码 |
|