//先手能赢 //从n堆石头中的一堆里去掉几颗,有多少堆石头可取 # include# include # include using namespace std; int main() { int n,sum,i,j,a[1010],cot,vis[1010]; while(~scanf("%d",&n),n) { sum=0; for(i=0;i sum)//要异或到零的状态,因为要取出几个石头,所有a[i]要大于sum,相同的两个数异或为零 cot++; } printf("%d\n",cot); } return 0; }