【Python 百练成钢】灯光模拟

简介: 【Python 百练成钢】灯光模拟

问题描述🪐


有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数

的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将

被打开,开着的灯将被关闭),依此类推。一共有k个人, 问最后有哪些灯开着?

输入: n与k输出灯的编号。

样例输入:7 3

样例输出:1 5 6 7


问题分析🪐


本题考察的是数组的使用,必须先定义一个一定大小的数组,然后给数组赋初值为False代表灯处于关闭

状态,然后从第一个人也就是i开始遍历数组,一旦灯的编号取余i的编号为0时代表这个人可以扣动开关

也就是可以开灯或者关灯。


代码实现🪐


老规矩先上运行结果:


279d3e43dc9748b69300cb1c45cd4eb0.png

import sys
n,k=sys.stdin.readline().strip().split()
n,k=int(n),int(k)
flag=True #用于记录是第一个还是最后一个
l=[False]*n#Python中没有规定数组,所以可以使用这种方法创建一个数组
for i in range(1,k+1):
    for j in range(1,n+1):
        if j%i==0:
            l[j-1]= not l[j-1]
# 遍历数组,找到开着的灯。
for i in range(n):
    if l[i]:
        if flag:
            print(i+1,end="")
            flag=False
        else:
            print("",i+1,end="")



相关文章
|
机器学习/深度学习 Python 算法
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
|
Python
Python:利用蒙特卡洛方法模拟验证概率分布
这个题目可以使用数学方法,将其答案显式地写出来,但是验证解出来的答案是否正确,就可以使用蒙特卡洛方法了。
736 0
Python:利用蒙特卡洛方法模拟验证概率分布
|
关系型数据库 测试技术 Python
2024年最新【Python 百练成钢】快速上手并查集(2),Python面试简历模板
2024年最新【Python 百练成钢】快速上手并查集(2),Python面试简历模板
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交
|
存储 算法 Python
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(2)
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(2)
|
存储 算法 Python
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(1)
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(1)
|
机器学习/深度学习 测试技术 Python
蓝桥杯python第二期模拟赛 python 题解
蓝桥杯python第二期模拟赛 python 题解
蓝桥杯python第二期模拟赛 python 题解
python--模拟掷骰子游戏
通过python模拟掷骰子的游戏
python--模拟掷骰子游戏
|
算法 安全 PHP
【高级软件实习】蒙特卡洛模拟 | PRNG 伪随机数发生器 | LCG 线性同余算法 | 马特赛特旋转算法 | Python Random 模块
本篇博客将介绍经典的伪随机数生成算法,我们将 重点讲解 LCG(线性同余发生器) 算法与马特赛特旋转算法,在此基础上顺带介绍 Python 的 random 模块。 本篇博客还带有练习,无聊到喷水的练习,咳咳…… 学完前面的内容你就会了解到 Python 的 Random 模块的随机数生成的实现,是基于马特赛特旋转算法的,比如 random_uniform 函数。而本篇博客提供的练习会让你实现一个基于 LCG 算法的random_uniform,个人认为还是比较有意思的
1273 0
【高级软件实习】蒙特卡洛模拟 | PRNG 伪随机数发生器 | LCG 线性同余算法 | 马特赛特旋转算法 | Python Random 模块
|
算法 测试技术 Python
第十四届蓝桥杯第一期模拟赛 python
第十四届蓝桥杯第一期模拟赛 python
第十四届蓝桥杯第一期模拟赛 python

推荐镜像

更多