Datahub
数据改变生活

P1876 开灯

发表时间:2022-10-28 23:09

P1876 开灯

题目背景

该题的题目是不是感到很眼熟呢?

事实上,如果你懂的方法,该题的代码简直不能再短。

但是如果你不懂得呢?那。。。(自己去想)

题目描述

首先所有的灯都是关的(注意是关!),编号为 11 的人走过来,把是 11 的倍数的灯全部打开,编号为 22 的人把是 22 的倍数的灯全部关上,编号为 33 的人又把是 33 的倍数的灯开的关上,关的开起来……直到第 NN 个人为止。

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

输入格式

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

输出格式

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

输入输出样例

输入 #1复制

5

输出 #1复制

1 4

说明/提示

【数据范围】

对于 100 \%100% 的数据,1 \le N \le 2^{40}1≤N≤240

【其他说明】

数学题!

#include<bits/stdc++.h>

using namespace std;

long long n;

int main(){

    cin>>n;

    for(int i=1;i<=sqrt(n);++i)

        printf("%lld ",1ll*i*i);

    puts("");

    return 0;

}


文章分类: 算法学习
分享到:
QQ:258506508                                     联系电话:020-000000    000-000000                                   联系邮箱:xxx@.co.m                                     联系地址:XXX省XXX市XXX县XXX路