5 条题解

  • 2
    @ 2025-11-1 20:20:30
    #include<stdio.h>
    int a[1009];
    int main(){
        int n,k;
        scanf("%d %d",&n,&k);
        for (int i=1;i<=k;i++){
            for (int j=1; j*i<=n; j++){
                a[j*i] = 1-a[j*i];//第一个人将全部灯打开,后边第i个人就关或开i的倍数的灯
            }
        }
        for (int i=1; i<=n; i++)
        {
    	    if (a[i]==1)
    	    printf("%d ",i);
        }
    }
    
    • 1
      @ 2025-11-1 20:15:45
      #include<stdio.h>
      int a[1009];
      int main(){
          int n,k;
          scanf("%d %d",&n,&k);
          for (int i=1;i<=k;i++){
              for (int j=1; j*i<=n; j++){
                  a[j*i] = 1-a[j*i];
              }
          }
          for (int i=1; i<=n; i++)
          {
      	    if (a[i]==1)
      	    printf("%d ",i);
          }
      }
      
      • 1
        @ 2023-10-11 21:03:01
        #include<stdio.h>
        int a[1005];
        
        int main(){
        int n,k;
        scanf("%d %d",&n,&k);
        for (int i=0;i <k; i++){
        for (int j=1; j*(i+1)<=n; j++){
        a[(i+1)*j-1] = 1-a[(i+1)*j-1];
        }
        }
        for (int i=0; i<n; i++)
        {
        	if (a[i]==1)
        	printf("%d ",i+1);
        }
        
        
        
        
        return 0;
        }
        
        • 0
          @ 2025-11-6 20:38:26
          #include <iostream>
          using namespace std;
          int main(){
          	int n , k;
          	cin >> n >> k;
          	int a[n+5]={0};
          	for(int i = 1 ; i <= n ; i++){
          		for(int j = 1 ; j <= k ; j++){
          			if(i%j==0){
          				if(a[i]==0){
          					a[i] = 1;
          				}
          				else{
          					a[i] = 0;
          				}
          			}
          		}
          	}
          	for(int i = 1 ; i <= n ; i++){
          		if(a[i] == 1){
          			cout << i << " ";
          		}
          	}
          	return 0;
          }
          
          • 0
            @ 2024-10-14 14:44:43

            #include <stdio.h> int main() { int n, k; scanf("%d%d", &n, &k); int i, j; //0为关灯,1为开灯 int arr[1000] = { 0 }; //初始化为0 for (i = 1; i <= n; i++) //灯的数目 { for (j = 1; j <= k; j++) //人的数目 { if (i % j == 0) //第n个人的倍数 { if (arr[i] == 0) //如果是关的就开 { arr[i] = 1; } else //如果是开的就关上 { arr[i] = 0; } } } } for (i = 1; i <= n; i++) { if (arr[i] == 1) { printf("%d ", i); } } return 0; }

            • 1

            信息

            ID
            154
            时间
            3000ms
            内存
            128MiB
            难度
            4
            标签
            (无)
            递交数
            620
            已通过
            298
            上传者