https://blog.csdn.net/zfq17796515982/article/details/83051495
题意:解方程:a-(a^x)-x=0 给出a的值,要求计算解(非负)的个数
题解:需要^和 - 起到相同的效果。
1^1=0 1-1=0
1^0=1 1-0=1
0^0=0 0-0=0,
0^1=1 0-1=-1
a的二进制位上为1时,x的二进制位上为1或者0,异或和减的效果相同。
a的二进制有几个1,就表示解的个数有2的几次方个
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
while(~scanf("%d",&t))
{
while(t--)
{
long long n;
scanf("%lld",&n);
long long ans=;
int num=;
while(n)
{
if(n&)
{
n/=;
num++;
}
else
{
n/=;
}
}
ans=pow(,num);
printf("%lld\n",ans);
}
}
return ;
}