机器人论坛
直播中

XYD漫漫

2年用户 139经验值
私信 关注
[资料]

C语言算法之:灯塔点灯

算法题目:有一个八层灯塔,每层的灯数都是上一层的2倍,共有765盏灯,编程,求最上层的灯和最下层的灯数。

编程思路分析

编程思路:

1、编程实现1-8层灯数;

2、显示最下层灯数量和最上层灯数量。

程序范例

int main()
{
/*n:八楼灯的数量假设为1   m:楼层的变化灯的数量   sum:灯的总数量  */
int n = 1,m,sum ,i;   

while(1)
{
  m = n; //m存储八楼灯的数量

  /*如果判断结果八个楼层的灯的数量大于或者小于765则将灯的总数清零*/
  sum = 0;      

  for(i = 1;i < 8; i++)
  {
     m = m * 2;//每层的灯数都是上一层的2倍
     sum += m;//计算出除了一楼外灯的数量
  }
  sum += n;//加上一楼灯的数量   
  if(sum == 765)
  {
    printf("输出八楼灯的数量:%drn",n);
    printf("输出一楼灯的数量:%drn",m);
    break;
  }
  n++;//灯的数量加1
}
}

程序运行结果案例: 1649225797(1).png

更多回帖

发帖
×
20
完善资料,
赚取积分