开灯问题 学习

来源:互联网 发布:网络攻击方式 编辑:程序博客网 时间:2024/06/05 10:57
#include <cstdio>#include <string.h>#include<iostream>#define MAXN 1000 + 10using namespace std;int a[MAXN];  //数组a放在函数外面才可将其定义的很大;int main()    //从数组a 复制k个元素到数组b  用memcpy(b,a,sizeof(int/double)*k)  全复制 memcpy(b,a,sizeof(a)){   int n,k,i,j,first = 1;//用于判断是否为带输出变量的第一个。   memset(a,0,sizeof(a));// memset(s,0,sizeof(a))   作用把数组a 清零 在 cstring中定义   scanf("%d%d",&n ,&k);//n盏灯 k个人   for(i=1; i<=k;i++)   {       for(j=1;j<=n;j++)       {           if(j%i==0)            a[j]=!a[j];//开闭操作       }   }   for(i=1;i<=n;i++)   {       if(a[i])       {           if(first)            first=0;//找到首位后  first为0  以后执行else           else            printf(" ");           printf("%d",i);       }   }   printf("\n");   return 0;}

原创粉丝点击