Дано двузначное число 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
, которая преобразует целое число в строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д