C++求助,80分

B2092 开关灯

W2429896817zc @ 2022-07-29 16:58:00

#include<iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int a[5000];
    for (int i = 1; i <= n; i++)
    {
        for (int b = 0; b < n; b++)
        {
            if ((b+1)%i == 0)
            {
                a[b]++;
            }
        }
    }
    for (int i = 0; i < n; i++)
    {
        if (a[i] % 2 != 0)
        {
            cout << i + 1 << " ";
        }
    }
    return 0;
}

by wanghaozhe @ 2022-07-29 18:07:19

这题可以创建一个列表

初始值都为0

再处理前2个操作

最后用一个嵌套循环执行(n-2)次操作就行了

每次符合条件的加1

输出偶数的灯


by W2429896817zc @ 2022-07-29 18:09:06

@wanghaozhe 好像是数组小了,我开个10000的过了


by wanghaozhe @ 2022-07-29 18:09:41

有结果了回复

私聊也行

┏┛墓┗┓...(((m-__-)m

(因为输入法出现了一些奇怪的东西)


by wanghaozhe @ 2022-07-29 18:11:10

数组不填就可以自动识别长度

因为刷新问题好像出现了奇怪的对话


by wanghaozhe @ 2022-07-29 18:12:22

当然

也可能是出题人没有规定N的大小的问题


by Ehtan @ 2022-10-06 20:44:37


using namespace std;
int main(){
    int n;
    cin>>n;
for(int i=1;i*i<=n;i++) cout<<i*i<<" ";
    return 0;

|