开灯

https://www.luogu.org/problemnew/show/P1876

题目描述

首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的灯开的关上,关的开起来……直到第N个人为止。

给定N,求N轮之后,还有哪几盏是开着的。

输入输出格式

输入格式:

一个数N,表示灯的个数和操作的轮数

输出格式:

若干数,表示开着的电灯编号

输入输出样例

输入样例:

5

输出样例:

1 4

原理很简单,不再赘述

不懂可参考洛谷题解:https://www.luogu.org/problemnew/solution/P1876

1

# -*- coding: utf-8 -*-
N = input()
N = int(N)
for i in range(1, int(N**0.5)+1):
    print(i**2, end=' ')

2

# -*- coding: utf-8 -*-
N = input()
N = int(N)
for i in range(1, N+1):
    if(i**2 > N):  
        break   
    print(i**2, end=' ') 
发布了58 篇原创文章 · 获赞 40 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_41248654/article/details/94209711
今日推荐