求助!!!10分

B2092 开关灯

直接输完全平方数
by __Aaaaaaaa @ 2022-09-14 19:36:43


第一个人将灯全部关闭,第二个人将编号为 2 的**倍数**的灯打开,将编号为 3 的**倍数**的灯做相反处理 你每个人只判断了一次`if(j%c==0)`而j和c每次都会增加一。 | j |c | | :----------: | :----------: | | 1 | 2 | | 2| 3 | | 3 | 4 | | 4| 5 | 显然j%c永远不可能等于0
by WZRYWZWY @ 2022-09-14 19:40:27


```cpp #include<iostream> using namespace std; int main(){ int b,c; c=2; cin>>b; int a[b+1]; for(int i=1;i<=b;i++){//从1开始 a[i]=0; } for(int j=1;j<=b;j++){ for(int i = c;i<=b;i+=c)//倍数 if(a[i]==0){ a[i]=1; }else{ a[i]=0; }c++;//应该移到for里面 } for(int i=1;i<=b;i++){ if(a[i]==0){ cout<<i<<" "; } } } ``` @[sjz520](/user/767417)
by WZRYWZWY @ 2022-09-14 19:52:41


@[WZRYWZWY](/user/704668) 谢谢
by Serendi_Pity @ 2022-09-14 20:04:34


```cpp <<#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=1;i*i<=n;i++) cout<<i*i<<" "; return 0; ```
by Ehtan @ 2022-10-06 20:42:04


|