【5IC-12】灯塔问题

 时间:2024-10-13 02:06:51

如图:有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏,求:塔底灯数?第几层的灯数为48?

【5IC-12】灯塔问题

工具/原料

C++编译器

一、答案:

1、代码如下:#include<iostream.h>int main(){ int S,n荑樊综鲶,m,i,j; for(j=1;j<381;j++){ n=j; for(i=1,S=0;i<8;i++,n*=2)S=S+n; if(S==381){ cout<<n/2<<endl;; m=j; break; } } for(i=1,n=m,S=0;i<8;i++,n*=2)if(n==48)cout<<i<<endl;}

【5IC-12】灯塔问题

2、运行结果:

【5IC-12】灯塔问题

二、说明:

1、首先我们并不知道第一层有多少个,因此我们要用穷举法从1开始尝试:如图:

【5IC-12】灯塔问题

2、然后在在符合条件时输出最底层:for(i=1,S=0;i<8;i++,n涯箨唁峦*=2)S=S+n; if(S==381){ cout<<n/2<<endl稆糨孝汶;; m=j; break;这里除以2是由于循环语句中n自乘了2

【5IC-12】灯塔问题

3、把第一层的个数记录在m中,然后再找出48对应的层数,并输出:for(i=1,n=m,S=0;i<8;i++,n*=2)if(n==48)cout<<i<<endl;

【5IC-12】灯塔问题
  • python求序列最大值怎样求?
  • html的div元素中id使用
  • 法线方程公式是什么
  • 树的度和结点数的关系是什么
  • 怎样在HTML创建一个多重嵌套的列表
  • 热门搜索
    世界无烟日手抄报图片 漫游语文世界手抄报 爱护公物手抄报 关于法制教育的手抄报 交通手抄报内容 谷雨手抄报 拒绝舌尖上的浪费手抄报 创建文明城市手抄报内容 欢度春节手抄报 红领巾心向党手抄报图片