Дано двузначное число k. Определить k-ю цифру последовательности 248163264128256. (сте-пени 2) - Pascal ABC
Формулировка задачи:
Не могу понять как задать последовательность степени 2. Пожалуйста,помогите!В интернете решения нет,есть со степенью 10,но это не то,все тупо выбирают либо 1 либо 0 выводить,а тут это не подходит!
Дано двузначное число k. Определить k-ю цифру последовательности 248163264128256... (сте-пени 2).
Решение задачи: «Дано двузначное число k. Определить k-ю цифру последовательности 248163264128256. (сте-пени 2)»
textual
Листинг программы
- var s : string;
- AllLen, n, k : integer;
- begin
- repeat
- WriteLn('Введите K: '); Readln(k);
- until k in [10..99];
- n:=1;
- AllLen:=0;
- repeat
- n:=n*2;
- s:=IntToStr(n);
- AllLen := AllLen +Length(s);
- until k<=AllLen;
- WriteLn(k,'-я цифра в последовательности = ', Copy(s, Length(s)-(AllLen-k),1));
- end.
Объяснение кода листинга программы
- Переменная
s
объявлена как строка (string
). - Переменные
AllLen
,n
иk
объявлены как целые числа (integer
). - В цикле
repeat
пользователю предлагается ввести значениеk
от 10 до 99. - Переменная
n
инициализируется значением 1. - Переменная
AllLen
инициализируется нулем. - В цикле
repeat
переменнаяn
умножается на 2, и в переменнуюs
записывается строковое представление результата. - Переменная
AllLen
увеличивается на длину строкиs
. - Цикл продолжается до тех пор, пока
k
не станет равнымAllLen
. - Выводится сообщение с номером
k
и соответствующей цифрой из последовательности. Примечание: В данном коде используется функцияIntToStr
, которая преобразует целое число в строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д