8 条题解

  • 4
    @ 2024-2-3 9:58:26
    //省略前面简单的过程 
        for (int i=1;i<=n;i++)   
        {
            a[i]=1;
        }
        for(int i=1;i<=m;i++)  //执行m次操作 
        {
            for (int j=i;j<=n;j+=i)  //给i的倍数执行相反操作 
            {
                a[j]=1-a[j];
            }
        }
        cout << 1;  //先输出1 
        for(int i=2;i<=n;i++)
        {
            if (a[i]==0)
                cout << "," << i;
        }
    
  • 2
    @ 2024-2-3 10:09:57
    
    #include<bits/stdc++.h>
    using namespace std;
    bool a[114514];//定义数组用布尔型来存储灯的状态(N为不大于5000的正整数)
    int main(){
    int n,m;//定义n,m(N为不大于5000的正整数所以选用int)
    cin>>n>>m;//输入灯的数量和人的数量
    for(int i =1;i<=m;i++){
    for(int j =i;j<=n;j+=i){//运算人编号的倍数
    a[j]=!a[j];//相反运算
    }
    }
    cout<<1;  //格式需要选输出1
    for(int j = 2;j<=n;j++){
    if(a[j]==1){//判断灯是否是关闭状态的(我这里1是关闭0是打开)
    cout<<","<<j;
    }
    }
    return 0;
    }
    
    
    • @ 2024-2-4 15:16:12

      写错了,应该是先,写成选了

  • 2
    @ 2023-7-28 20:21:00

    yasuo👀️

    #include <iostream>
    int main(){
        int n,m,a[100001];
        std::cin>>n>>m;
        for(int i=2;i<=m;i++)
            for(int j=1;j<=n;j++)
            if(j%i==0){
                if(a[j]==0) a[j]=1;
                else a[j]=0;}
        std::cout<<"1";
        for(int i=2;i<=n;i++) if(a[i]==0) std::cout<<","<<i;
        return 0;}
    
    • 1
      @ 2024-2-5 17:20:09
      #include <bits/stdc++.h>
      using namespace std;
      bool a[5005]; // 记录灯的状态(0为关闭 1为打开) 初始化为0,从第二个人开始循环 
      int main()
      {
      	int n,m;
      	cin >> n >> m;
      	for (int i = 2; i <= m; i++) // i为人的编号
      	{
      		for (int j = 1; j <= n; j++) // j为灯的编号
      		{
      			if (j % i == 0)
                  {
      				if (a[j] == 1)
                          a[j] = 0;
                      else
                          a[j] = 1;
                  }
      		}
      	}
      	for (int i = 1; i <= n; i++)
      	{
      		if (a[i] == 0) // 是否输出逗号
      		{
      			if (i == 1)
      				cout << i;
      			else
      				cout << "," << i; 
      		}
      	}
      }
      
      • 1
        @ 2024-2-2 16:30:30
        #include<bits/stdc++.h>
        using namespace std;
        int a[5005];
        int main(){
            int n,m;
            cin>>n>>m;
            for (int i=2;i<=m;i++){
                for (int j=i;j<=n;j++){
                    if (j%i==0){
                        if (a[j]==0){
                            a[j]=1;
                        }
                        else{
                            a[j]=0;
                        }
                    }
                }
            }
            cout<<1;
            for (int i=2;i<=n;i++){
                if (a[i]==0){
                    cout<<","<<i;
                }
            }
            return 0;
        }
        
        • 1
          @ 2023-6-24 18:42:15
          #include<stdio.h>
          int main()
          {
              int n,k,i,j;
          	bool a[5001]={1}; 
              scanf("%d%d",&n,&k);
          	for(i=1;i<=k;i++)
          	 	for(j=i;j<=n;j+=i)//满足倍数条件的灯的编号
          	 	{
          	 		a[j]=!a[j];//对其进行相反处理
          		}
          	printf("1");//为了输出格式,采取先把1输出的办法
          	for(i=2;i<=n;i++)
          		if(a[i]==1)//判断条件
          		{
          			printf(",%d",i);//按照格式输出
          		}
              return 0;
          }
          
          
          
          • 0
            @ 2024-6-1 22:02:57
            #include<iostream>
            using namespace std;
            int main()
            {
                int n,m,a[5005];//0为开启,1为关闭
                cin >> n >> m;
                for(int i=1;i<=m;i++)
                {
                    for(int j=1;j<=n;j++)
                    {
                        if(j%i==0)
                        {
                            if(a[j]==0)
                                a[j]=1;
                            else
                                a[j]=0;
                        }
                    }
                }
                int b=0;
                for(int i=1;i<=n;i++)
                {
                    if(a[i]==1)
                    {
                        if(b==1)
                            cout << ",";
                        else
                            b=1;
                        cout << i;
                    }
                }
                return 0;
            }
            
            • 0
              @ 2024-2-9 15:17:05
              #include<bits/stdc++.h>
              using namespace std;
              bool a[114514];//定义数组用布尔型来存储灯的状态(N为不大于5000的正整数)
              int main(){
              int n,m;//定义n,m(N为不大于5000的正整数所以选用int)
              cin>>n>>m;//输入灯的数量和人的数量
              for(int i =1;i<=m;i++){
              for(int j =i;j<=n;j+=i){//运算人编号的倍数
              a[j]=!a[j];//相反运算
              }
              }
              cout<<1;  //格式需要先输出1
              for(int j = 2;j<=n;j++){
              if(a[j]==1){//判断灯是否是关闭状态的(我这里1是关闭0是打开)
              cout<<","<<j;
              }
              }
              return 0;
              }
              
              • 1

              信息

              ID
              196
              时间
              1000ms
              内存
              128MiB
              难度
              5
              标签
              递交数
              199
              已通过
              76
              上传者