- /*
 
 - 有一个八层灯塔,每层的灯数都是上层的一倍,共有765盏灯,编程求最上层和最下层的灯数?
 
  
- */
 
  
- class Lighthouse {
 
 -         public static void main(String[] args){
 
 -                 for (int y = 1; true; y++) {  //使用for循环使最上层灯数从1开始递增
 
 -                         int sum = 0;  //定义一个数sum存储变化的和,并且每次最上层灯数变化,sum归零
 
 -                         for (int x = 1; x <= Math.pow(2,7); x*=2){   //内循环运行8次,x为2^0到2^7,每层灯塔数就是y*x
 
 -                                 sum = sum + y*x;  //将每层灯塔数累加到sum中
 
 -                         }
 
 -                         if (sum == 765) { //判断总灯数是否等于765,如果等于就打印最上层和最下层灯数,并且使用break跳出循环
 
 -                                 System.out.println("最上层的灯数是:" + y + "最下层的灯数是:" + y*Math.pow(2,7));
 
 -                                 break;
 
 -                         }        
 
 -                 }
 
 -         }
 
 - }
 
  复制代码 |   
        
 
    
    
    
     
 
 |