首页 > 其他分享 >开关灯问题

开关灯问题

时间:2024-04-18 16:33:42浏览次数:24  
标签:偶数 平方 完全 问题 开关 倍数 关闭 编号

 

## 题目描述

假设有 N 盏灯(N 为不大于 5000 的正整数),从 1 到 N 按顺序依次编号,初始时全部处于开启状态;第一个人(1号)将灯全部关闭,第二个人(2 号)将编号为 2 的倍数的灯打开,第三个人(3 号)将编号为 3 的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和 3号一样,将凡是自己编号倍数的灯做相反处理。问当第 N 个人操作完之后,有哪些灯是关闭着的?

解法

首先,我们观察样例,会发现输出的数都是完全平方数,而且是 1 到 n 这个范围内的。简单证明一下为什么,因为只有完全平方数的因数个数为奇数,其余数都是偶数,而按动偶数次下也就相当于没按了,所以最后还是亮的(因为一开始灯也都是亮的),那么最后关着的灯就是这些编号为完全平方数的灯了。

我们只需一个循环输出 1 到 n 之间的完全平方数,整个代码时间复杂度只有

代码:

常规做法

 

标签:偶数,平方,完全,问题,开关,倍数,关闭,编号
From: https://www.cnblogs.com/yu7921/p/18143802

相关文章

  • Qt 6.5.5 链接和QML与C++交互的若干问题
    需求描述QtQuick开发桌面组件,使用讯飞API(提供头文件、静态库、动态库),希望部署到Windows平台,在QtCreator开发。QML与C++交互主要参考:QML与CPP,https://blog.csdn.net/gongjianbo1992/article/details/87965925另有参考:信号与槽,https://blog.csdn.net/ifeng12358/article/detai......
  • ubuntu解决/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found的问题
    运行进程时报错./main:/lib/x86_64-linux-gnu/libc.so.6:version`GLIBC_2.38'notfound(requiredby./main)./main:/lib/x86_64-linux-gnu/libc.so.6:version`GLIBC_2.33'notfound(requiredby./main)./main:/lib/x86_64-linux-gnu/libc.so.6:version`G......
  • h5 自适应页面背景图无法自动适应的问题
     有时候制作好自适应页面,上面用的是背景图,发现在手机中,宽度会出现不能100%显示的问题,虽然样式中我们使用了width为100%。加入以下语句<html><head><metaname="viewport"content="width=1200px">当只设置width属性值,而不指定initial-scale属性值时,大多数浏览器......
  • Python 解决控制台输出颜色时出现乱码的问题 (windows平台)
    简介在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。当然了,控制台的展示效果有限,并不能像前段一样炫酷,只能做一些简单的设置。不......
  • 交换机丢包问题
    一、测试丢包的方法二、丢包的类型链路丢包拥塞丢包MAC地址漂移STP震荡二三层表项超规格......
  • C#对象引用更新问题
    在C#中,当你将一个对象赋值给另一个变量时,实际上是将对象的引用(内存地址)赋给了这个变量,而不是将对象本身复制一份。这意味着如果你修改了一个引用类型对象(如列表、类实例等),那么所有引用该对象的地方都会受到影响,因为它们都指向同一个内存地址。为了避免这样的问题,你可以通过以下......
  • 解决WIN11/WIN10找不到secpol.msc的问题
    原文链接:https://blog.csdn.net/m0_65048141/article/details/134948534一、下载https://www.mediafire.com/file/geaxzi5rc86oqv9/gpedit-enabler.zip/file二、安装解压压缩包,右键管理员打开,等待运行结束三、打开WIN+R搜索secpol.msc,对需要修改的进行修改即可 ......
  • xShell终端中文乱码问题的解决办法
    转载于CSND,原创作者:师傅我坚持不住了原文链接:https://blog.csdn.net/LuoFan_A/article/details/136713014xShell终端中文乱码问题的终极解决方案在与Linux系统进行交互时,我们经常会遇到终端中文显示乱码的问题。这不仅影响阅读体验,还可能导致命令理解错误,从而引发一系列问题。......
  • mongodb启动失败问题解决
    解决办法sudochown-Rmongod:mongod/var/lib/mongochown-Rmongod:mongod/var/log/mongodb/chown-Rmongod:mongod/tmp/mongodb-27017.sock或者可以使用mongod--config/etc/mongod.conf参考:MongoDBloadsbutbreaks,returningstatus=14-AskUbuntumon......
  • 部署Jenkins + 遇到的问题
    阿里云服务器部署Jenkins基础配置安装在部署jenkins之前需要将git、jdk、maven在云服务器中安装好。Git1、安装指令sudoapt-getinstallgit使用git--version查看是否安装成功2、配置用户名和邮箱名gitconfig--globaluser.name"YourName"gitconfig--global......