Advertisement
Guest User

Ciekawa Wyliczanka

a guest
Aug 15th, 2016
384
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. vector <int> numbers;
  8.  
  9. void to_binary(int n)
  10. {
  11.     if(n/2 != 0)
  12.     {
  13.         to_binary(n/2);
  14.     }
  15.  
  16.     if(n%2 == 0)
  17.     {
  18.         numbers.push_back(5);
  19.     }
  20.     else
  21.         numbers.push_back(6);
  22.  
  23. }
  24.  
  25. int main()
  26. {
  27.     int S = 0;
  28.     int k;
  29.     int n = 0;
  30.     int i = 1;
  31.     cin >> k;
  32.     while(S < k)
  33.     {
  34.         S = S + pow(2,i);
  35.         n++;
  36.         i++;
  37.     }
  38.     int temp = (pow(2, n) - (S-k)) - 1;
  39.     to_binary(temp);
  40.     int* tablica = new int[n];
  41.     for(int i = 0; i < n; ++i)
  42.     {
  43.         tablica[i] = 5;
  44.     }
  45.     int j = 0;
  46.     for(int i = 0; i < n; ++i)
  47.     {
  48.         if(i >= n - numbers.size())
  49.         {
  50.             tablica[i] = numbers[j];
  51.             j++;
  52.         }
  53.     }
  54.     for(int i = 0; i < n; ++i)
  55.     {
  56.         cout << tablica[i];
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement