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=' ')