格雷码输出

Posted beaglebone

tags:

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

格雷码打印:打印出0~2n-1数,且相邻两个数只有一位不同。

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    int n;
    cin>>n;
    vector<int> result;
    result.push_back(0);
    for(int i=0;i<n;i++)
    {
        int high_bit=1<<i;
        for(int j=result.size()-1;j>=0;j--)
        {
            result.push_back(result[j]|high_bit); 
        }
    }
    for(int i=0;i<result.size()-1;i++)
    {
        cout<<result[i]<<", ";
    }
    cout<<result[result.size()-1]<<endl;

}

 

以上是关于格雷码输出的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

89-格雷编码

力扣89——格雷编码