Advertisement
Centipede18

nhiPhanGray

Mar 31st, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.65 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. class Gray
  7. {
  8.     int m;
  9.     long n;
  10.     int A[65538];
  11.     public:
  12.     void nhap();
  13.     void xuat();
  14.  
  15. };
  16. void Gray::xuat()
  17. {
  18.     int b[20];
  19.  
  20.     for(int i=0;i<n;i++)
  21.     {
  22.         int k=0;
  23.         int u=A[i];
  24.         while(u>0)
  25.         {
  26.             b[k++]=u%2;
  27.             u/=2;          
  28.         }
  29.         for(int j=k+1;j<=m;j++) printf("0");
  30.         while(k>=1) printf("%d",b[--k]);
  31.         printf("\n");
  32.     }
  33.  
  34. }
  35.  
  36. void Gray::nhap()
  37. {
  38.     cin>>m;
  39.     A[0]=0;
  40.     A[1]=1;
  41.     int p=1;
  42.     n=2;   
  43.     for(int i=2;i<=m;i++)
  44.     {
  45.         p=p*2;
  46.         int u=2*n-1;
  47.         for(int j=n;j<=u;j++) A[j]=A[u-j]+p;
  48.         n=n*2;
  49.     }  
  50. }
  51.  
  52. int main()
  53. {
  54.  
  55.     Gray G;
  56.     G.nhap();
  57.     G.xuat();
  58.     return 0;
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement