JuliaMelkozerova

HW1A

Mar 11th, 2020
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int strlen(int N) {
  5.     int len = 1;
  6.     for (int i = 0; i < N - 1; i++) {
  7.         len = 1 + 2 * len;
  8.     }
  9.     return len;
  10. }
  11.  
  12. int place(int K, int len, int N) {
  13.     if (K == 1) {
  14.         return N;
  15.     }
  16.  
  17.     if (K <= (len + 1) / 2) {
  18.         K--;
  19.         len = len - (len + 1) / 2;
  20.         N--;
  21.         return place(K, len, N);
  22.     }
  23.  
  24.     if (K > (len + 1) / 2) {
  25.         K = K - ((len + 1) / 2);
  26.         len = len - (len + 1) / 2;
  27.         N--;
  28.         return place(K, len, N);
  29.     }
  30. }
  31.  
  32. int main()
  33. {
  34.     int N, K, L, i = 0;
  35.     cin >> N >> L >> K;
  36.  
  37.     int len = strlen(N);
  38.  
  39.     for (i = L; i <= K; i++) {
  40.         cout << (char)(96 + place(i, len, N));
  41.     };
  42.  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment