51nod.3395n位格雷码(位运算)

Posted SSL_LKJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod.3395n位格雷码(位运算)相关的知识,希望对你有一定的参考价值。

n位格雷码

题目传送门

输入样例

3

输出样例

000
001
011
010
110
111
101
100

解题思路

自动打印格雷码

AC代码

#include<cstdio>
#include<iostream>
using namespace std;
int n;
int main()

	scanf("%d",&n);
	for(int i=0;i<(1<<n);i++,printf("\\n"))
		for(int j=n-1;j>=0;j--)//打印格雷码
		
			int x=i&(1<<j),y=i&(1<<j+1);
			x=min(x,1);
			y=min(y,1);
			if(x!=y)printf("1");
			else printf("0");
		
	return 0;


谢谢

以上是关于51nod.3395n位格雷码(位运算)的主要内容,如果未能解决你的问题,请参考以下文章

51nod.3395n位格雷码(位运算)

51nod.3395n位格雷码(位运算)

位运算规律——格雷编码

构造N位格雷码(递归,面向对象)

BZOJ1081超级格雷码

证明格雷码相邻的两个数中不同的位数只有1位