Последовательность из латинских букв строится следующим образом. Вначале она пуста. На каждом последующем шаге последовательность удваивается, после чего к ней слева дописывается очередная буква латинского алфавита (a, b, c, …). Ниже приведены первые шаги построения по-следовательности:
Шаг 1. a
Шаг 2. baa
Шаг 3. cbaabaa
Шаг 4. dcbaabaacbaabaa
…………………………
Требуется написать программу, которая по заданному числу N находит символ, который стоит на N-ом месте в последовательности, получившейся после 26-го шага.
Входные данные
В единственной строке входного файла INPUT.TXT записано число N (1 <= N < 226).
Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести символ, стоящий в N-й позиции получившейся последовательности.
CONST
A:array[1..26]of string=('a','b','c','d','e','f','g','h','i',
'j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
VAR
B:array[1..26]of string;
i,N:integer;
s:string;
f:text;
BEGIN
assign(f,'input.txt');
reset(f);
read(f,N);
close(f);
for i:=1 to 26 do
B[i]:=A[i];
for i:=2 to 26 do
B[i]:=B[i]+B[i-1]+B[i-1];
s:=B[26];
assign(f,'output.txt');
rewrite(f);
write(f,S[N]);
close(f);
END.
Также здесь можно обойтись без массива B,но без него программа не проходит,а с ним не успел проверить(опоздал на 16 секунд).