ZOJ Monthly, January 2019-Little Sub and Pascal's Triangle

这个题的话,它每行奇数的个数等于该行行号,如果是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\n",ans);
	}
}
posted @ 2019-01-19 18:15  xyee  阅读(86)  评论(0编辑  收藏  举报