Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.59 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. void generateGrayarr(int n)
  7. {
  8.     if (n <= 0)
  9.         return;
  10.  
  11.     vector<string> arr;
  12.  
  13.     arr.push_back("0");
  14.     arr.push_back("1");
  15.  
  16.     int i, j;
  17.     for (i = 2; i < (1 << n); i = i << 1)
  18.     {
  19.  
  20.         for (j = i - 1; j >= 0; j--)
  21.             arr.push_back(arr[j]);
  22.  
  23.  
  24.         for (j = 0; j < i; j++)
  25.             arr[j] = "0" + arr[j];
  26.  
  27.  
  28.         for (j = i; j < 2 * i; j++)
  29.             arr[j] = "1" + arr[j];
  30.     }
  31.  
  32.     for (i = 0; i < arr.size(); i++)
  33.         cout << arr[i] << endl;
  34. }
  35.  
  36. int main()
  37. {
  38.     int n = 0;
  39.     cin >> n;
  40.     generateGrayarr(n);
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement