题目背景
该题的题目是不是感到很眼熟呢?
事实上,如果你懂的方法,该题的代码简直不能再短。
但是如果你不懂得呢?那。。。(自己去想)
题目描述
首先所有的灯都是关的(注意是关!),编号为 11 的人走过来,把是 11 的倍数的灯全部打开,编号为 22 的人把是 22 的倍数的灯全部关上,编号为 33 的人又把是 33 的倍数的灯开的关上,关的开起来……直到第 NN 个人为止。
给定 NN,求 NN 轮之后,还有哪几盏是开着的。
输入格式
一个数 NN,表示灯的个数和操作的轮数。
输出格式
若干数,表示开着的电灯编号。
输入输出样例
输入 #1
5
输出 #1
1 4
说明/提示
【数据范围】
对于 100%100% 的数据,1≤N≤2401≤N≤240。
【其他说明】
数学题!
题解
include<bits/stdc++.h>
using namespace std;
long long n;
int main()
{
cin>>n;
for(int i=1;i<=sqrt(n);i++)
{
cout<<i*i<<" ";
}
cout<<endl;
return 0;
}