请你计算共有多少个整数三元组 (a,b,c)(a,b,c) 能够同时满足:
- 1≤a≤b≤c≤n1≤a≤b≤c≤n。
- a⊕b⊕c=0a⊕b⊕c=0,其中 ⊕⊕ 表示按位异或。
- (a,b,c)(a,b,c) 可以构成一个非退化三角形(即任意两边之和均大于第三边)。
输入格式
一个整数 n。
输出格式
一个整数,表示满足条件的三元组的个数。
#include<bits/stdc++.h>
#include<iostream>
#include<cstring>
using namespace std;
int ax(int &a,int &b,int &c)
{
return a^b^c;
}
int main()
{
int a=0;
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
for(int k=j;k<=n;k++)
{
int m=ax(i,j,k);
if(m==0)
{
if(i+j>k)
{
a++;
}
}
}
}
}
cout<<a<<endl;
return 0;
}