博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础===100盏灯的问题
阅读量:6380 次
发布时间:2019-06-23

本文共 541 字,大约阅读时间需要 1 分钟。

闪存里有人这样提问这样:

第一轮操作所有电灯,第二轮操作第2盏,第4盏开关,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮

用python解决的思路如下:

灯泡有两种状态:开和关,用 -1代表关,用1代表开。每次操作后,状态上乘以-1。

这样问题就简单多了:

# on ---> 1     off ---> -1dic = {k:-1 for k in range(1,101)}def foo(n):    for i in range(1,n+1):        for x in dic:            if x%i == False:                dic[x] = int(dic[x])*-1    return dicnum = len({k: v for k,v in foo(100).items() if v == 1})print(f"There are {num} lights on.")#There are 10 lights on.

 

转载于:https://www.cnblogs.com/botoo/p/9635817.html

你可能感兴趣的文章
containerd发布了CRI修复程序和CVE-2019-5736更新的runc
查看>>
WEB前端开发的思考与感悟
查看>>
微信自动跳转浏览器打开APP(APK)下载链接
查看>>
==与===的区别
查看>>
不同工具查看代码分支diff的差异
查看>>
白话Java I/O模型
查看>>
上传一张照片,让算法告诉你是否患有抑郁症
查看>>
VR厂商唯晶科技获2800万C+轮融资,曾开发过游戏《圣女之歌》
查看>>
Countly 19.02.1 发布,实时移动和 web 分析报告平台
查看>>
TCP连接中time_wait在开发中的影响-搜人以鱼不如授之以渔
查看>>
Oracle数据库机出新帮助不同规模企业迈向云端
查看>>
前端通信:ajax设计方案(六)--- 全局配置、请求格式拓展和优化、请求二进制类型、浏览器错误搜集以及npm打包发布...
查看>>
微服务分布式企业框架 Springmvc+mybatis+shiro+Dubbo+ZooKeeper+Redis+KafKa
查看>>
被《时代周刊》选为年度最佳发明,PS VR靠的竟然是价格
查看>>
通用唯一标识码UUID的介绍及使用。
查看>>
spring笔记--依赖注入之针对不同类型变量的几种注入方式
查看>>
Ajax的简单学习
查看>>
为npm配置taobao源
查看>>
管理邮件用户
查看>>
导出DC数据以便以介质方式安装另一台域控制器
查看>>