總時間限制:
1000ms
內存限制:
65536kB
描述
N盞燈排成一排,從1到N依次編號。有N個人也同樣編號。
第一個人將燈全部熄滅;
第2個人將對應2和2的倍數的燈打開;
第3個人將對應着3和3的倍數的燈做反向操作(如果原來是開,則關掉它,否則就打開它);
以後的人和3做同樣的操作,即第i個人將對應着i和i的倍數的燈做反向操作。
輸入
燈的總數N, 1<=N<=1000
輸出
在第N個人操作後,順序輸出還亮着燈的編號。
樣例輸入
8
樣例輸出
2 3 5 6 7 8
//
// 開關電燈.cpp
// Cheese
//
// Created by 廖啓帆 on 2019/4/5.
// Copyright © 2019 廖啓帆. All rights reserved.
//
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int main(){
int n,i;
cin>>n;
if (n==1) {
return 0;
}
cout<<2;
for (i=3; i<=n; i++) {
if ((int)sqrt(i)!=sqrt(i)) {
printf(" %d",i);
}
}
return 0;
}