标签:
有n盏灯,编号为1~n,第一个人把所有灯都打开,第2个人按下所有编号为2的倍数的开关(这些灯将会被关掉),第三个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),一次类推,一共有k个人,问最后那些灯开着?
#include <stdlib.h> #include<string.h> #include <math.h> int main() { int a[100],n,visited[100],i,k,j; scanf("%d%d",&n,&k); memset(a,0,sizeof(a)); //0电表关着的 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]!=0) printf("%d " ,i); } return 0; }
标签:
原文地址:http://www.cnblogs.com/wintersong/p/5041747.html