这个题的话,它每行奇数的个数等于该行行号,如果是0开始的,就该数的二进制中的1的个数,设为k,以它作为次数,2k就是了。
#include <stdio.h>
int main()
{
int t;
long long k;
scanf("%d",&t);
getchar();
while (t--) {
scanf("%lld",&k);
long long ans=1;
k=k-1;
while (k>0) {
if (k&1==1) {
ans=ans<<1;
k=k>>1;
}
else k=k>>1;
}
printf("%lld
",ans);
}
}