首页 > 试题广场 >

#include us...

[单选题]
#include <bits/stdc++.h>
using namespace std;
int main(){
int n = 1001;
int ans = 0;
for(int i = 1; i <= n; ++i){
ans ^= i % 3;
}
cout << ans << endl;
}
则上述程序输出为( )
  • -2
  • 0
  • 1
  • 2
i从1开始,一直到1001,每次都除以3取余数,所以循环内右边一直是 1,2,0,1,2,0,1,2,0,1,2,0....
ans初始为零,可以发现规律
ans   i%3   ans^i%3
 0    1     1
 1    2     3
 3    0     3
 3    1     2
 2    2     0
 0    0     0
每6个循环ans就回到0
1001 % 6 = 5
所以最后 ans就为第五个值 0
发表于 2019-08-26 18:52:56 回复(0)