Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int strlen(int N) {
- int len = 1;
- for (int i = 0; i < N - 1; i++) {
- len = 1 + 2 * len;
- }
- return len;
- }
- int place(int K, int len, int N) {
- if (K == 1) {
- return N;
- }
- if (K <= (len + 1) / 2) {
- K--;
- len = len - (len + 1) / 2;
- N--;
- return place(K, len, N);
- }
- if (K > (len + 1) / 2) {
- K = K - ((len + 1) / 2);
- len = len - (len + 1) / 2;
- N--;
- return place(K, len, N);
- }
- }
- int main()
- {
- int N, K, L, i = 0;
- cin >> N >> L >> K;
- int len = strlen(N);
- for (i = L; i <= K; i++) {
- cout << (char)(96 + place(i, len, N));
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment