69,371
社区成员
发帖
与我相关
我的任务
分享
#include <iostream.h>
#include <stdio.h>
#define IF_OUT(flag,offset) ( (((flag) >> (offset)) & 1) )
#define NUM 13
int main()
{
int a[NUM] = {0};
int flag, bflag;
int i = 0,k = 0;
bflag = flag = 0x1FFF;
memset(a, 0x0, sizeof(a));
while(flag)
{
// printf("i = %d\n", i);
if(a[i] == 0) {
k++;
if(k == 3)
{
a[i] = 1;
k = 0;
bflag = flag;
flag ^= (1 << i);
// printf("flag = %4X, bflag = %4X, i = %d", flag, bflag, i);
}
}
i++;
if (i >= NUM) {
i = 0;
}
}
for (i = 0; i < NUM && !IF_OUT(bflag, i); i++);
printf("%d\n", i + 1);
return 0;
}