算法进化历程之灯泡开关

15 篇文章 3 订阅 ¥9.90 ¥99.00
这篇博客讲述了阿福和小美在力扣(LeetCode)遇到的灯泡开关问题,他们通过模拟和数学方法逐步优化算法,从最初的超时解决方案到最终的高效算法。文章介绍了如何通过灯泡编号的因数个数判断其最终状态,并提供了不同阶段的代码实现,最终得出结论,只有编号为完全平方数的灯泡会在n轮后亮着。
摘要由CSDN通过智能技术生成

出场人物介绍

小美:小学4年级学生,参加了学校的编程兴趣小组,已经了解了Python语言的基本语法,能够看懂一些简单的程序。她做事风风火火,对所有的事情都很好奇,喜欢打破砂锅问到底,是一个叫人又爱又恨的小丫头。

阿福:一个酷爱编程的8年级男生。大家都说他长得像国宝大熊猫,动作缓慢,憨态可掬。他做事情确实够慢的,连说话也慢条斯理,可是他一点也不担心,他常常说:“慢就是快,只要坚持下去,蜗牛也能爬上金字塔。”

古老师:虽然年近不惑,但依然对生活充满热情。“爱生活爱运动”是他的人生信条,和孩子们一起编程是他最大的乐趣。他神出鬼没,总是在孩子们最需要帮助的时候出现。当然,你也不能动不动就找古老师,因为他很忙,非常非常忙。所以,遇到问题还是自己先思考吧。


算法进化历程之灯泡开关

阿福:最近古老师让我到力扣(leetcode)网去刷题,我遇到了一个很有趣的题目。

小美:是吗?赶快拿出来瞧瞧。


题目1:

灯泡开关。

n个灯排成一排,依次编号为1-n,开始时都是关着的。现进行如下操作: 第 1 轮,所有电灯的按钮按动一次;第2 轮,所有编号为2的倍数的电灯按钮按动一次;第3轮,所有编号为3的倍数的电灯的按钮按动一次;……第n 轮,所有编号为n的倍数的电灯的按钮按动一次。最后请统计 n 轮后有多少只电灯是亮的。

函数功能:统计 n 轮后有多少只电灯是亮的。

函数名:bulbS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值