两种方法 原理是一样的,答案是最上层是3,最下层是384
方法一:
for (int y = 1; y < 10; y++) {
int sum = 0;
for (int x = 1; x <= Math.pow(2,7); x*=2){
sum = sum + y*x;
}
if (sum == 765) {
System.out.println("最上层的灯数是:" + y + "最下层的灯数是:" + y*Math.pow(2,7));
break;
}
}
方法二:
for (int j = 1;j<=5 ;j++ ) {
int sum =0;
for (int i =1;i <= 8 ;i++ ) {
sum =sum+j*(1 << (i - 1));
}
if (sum == 765) {
System.out.println("最上层灯数为:" + j +",最下层的灯数为:" + j * (1 << 7));
}
} |