传送门
思维:异或的性质 a ^ a =0.
那么必然有i ^ j = k. k = k ^ 0;
那么程序可以优化到O2。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n;
cin >> n;
int cnt = 0;
for(int i = 1; i <= n; i++)
for(int j = i + 1; j <= n; j++)
{
if((i ^ j) > i && (i ^ j) > j && ((i ^ j) <= n) && (i + (i ^ j) > j) && (j + (i ^ j) > i) && (i + j > (i ^ j)))
{
cnt++;
//cout << i << " " << j << " " << (i ^ j) << endl;
}
}
cout << cnt << endl;
return 0;
}