int top=1,bottom,i,sum;
while(1){
bottom=top;
//把最上层的数赋给其下一层,作为下一层是上一层的两倍数的计算基数
sum=0;
for(i=1;i<8;i++){
bottom*=2;//使得bottom从第七层开始等于它的上一层*2
sum+=bottom;//计算除第八层外的其他层的总灯数
}
sum+=top;//计算1~8层的总灯数
if(sum==765){//判断1~8层的总灯数是不是765
printf(" top=%d",top);
printf("\nbottom=%d\n\n",bottom);
break;
}
top++;//如果不满足条件则第八层加一,继续穷举
}
结果:
top=3
bottom=384
/*-------------------反爬声明o(▽)咻咻咻--------------------
作者:杨木发
版权声明:
本文为博主倾情原创文章,整篇转载请附上源文链接!
如果觉得本文对你有所收获,你的请评论点赞 与
合理优质的转发也将是鼓励支持我继续创作的动力,
更多精彩可百度搜索 杨木发 或:
个人网站:https://www.yangmufa.com ,
GitHub:https://github.com/yangmufa ,
坚持创作 善于总结 开源共享 高质进步。
-------------------反爬声明o(▽)咻咻咻--------------------*/