2305_81392382 2024-01-07 08:10 采纳率: 0%
浏览 173

宝塔上的琉璃灯 类型:for循环

img


有一座8层宝塔,每一次上都有一些琉璃灯,每一层的灯数都是上一层的两倍,已知共有765盏琉璃灯,计算并输出每层有多少盏琉璃灯

  • 写回答

3条回答 默认 最新

  • 梦幻精灵_cq 2024-01-07 09:23
    关注
    • 塔只有8层,可以用最笨的办法,枚举。

      代码运行效果截屏

      img


      img

    python代码

    1. def count(n):
    2. for i in range(1, n):
    3. lights = [i]
    4. for j in range(7):
    5. i = i<<1
    6. lights += [i]
    7. if sum(lights) == n:
    8. result = lights
    9. break
    10. else:
    11. result = []
    12. if not result:
    13. print(f"\n琉璃灯总盏数为“{n}”,无解。")
    14. return
    15. print('\n输出:')
    16. for i in range(8):
    17. print(f"{8-i}{result[i]}盏")
    18. if __name__ == '__main__':
    19. count(int(input(f"\n输入琉璃灯总盏数:")))

    展开全部

    评论 编辑记录
  • micthis 2024-01-07 10:07
    关注
    1. s,c='',765//(2**8-1)
    2. for i in range(8,0,-1):
    3. s=s+f'{i}{c}盏\n'
    4. c*=2
    5. print(s)
    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-07 10:18
    关注

    【以下回答由 GPT 生成】

    1. # 初始化第一层琉璃灯数量
    2. lights = 1
    3. # 循环计算每层琉璃灯数量
    4. for i in range(1, 9):
    5. print(f"第{i}层有{lights}盏琉璃灯")
    6. lights *= 2
    7. # 输出结果
    8. # 第1层有1盏琉璃灯
    9. # 第2层有2盏琉璃灯
    10. # 第3层有4盏琉璃灯
    11. # 第4层有8盏琉璃灯
    12. # 第5层有16盏琉璃灯
    13. # 第6层有32盏琉璃灯
    14. # 第7层有64盏琉璃灯
    15. # 第8层有128盏琉璃灯


    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

    展开全部

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部