格雷码.cpp

来自「格雷码问题」· C++ 代码 · 共 36 行

CPP
36
字号
#include<iostream>
using namespace std;

void print(int a[],int length)
{
	int i;
	for(i=length-1;i>=0;i--)
		cout<<a[i];
	cout<<endl;
}
void gray(int b,int a[],int length)
{
	if(b==0)
	{
		a[b]=1-a[b];
		print(a,length);
	}
	else
	{
		gray(b-1,a,length);
		a[b]=1-a[b];
		print(a,length);
		gray(b-1,a,length);
	}
}
void main()
{
	int b,i;
	cout<<"请输入 b:\n";
	cin>>b;
	int *a=new int[b];
	for(i=0;i<b;i++)
		a[i]=0;
	print(a,b);
	gray(b-1,a,b);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?