program Project1;
var
i, Num : Longint;
Base : Byte;
S, StrNum : String;
begin
repeat
Writeln('Задайте целое число:');
Readln(Num);
repeat
Writeln('Задайте основание системы счисления 2..16:');
Readln(Base);
if not (Base in [2..16]) then begin
Writeln('Основание системы счисления должно быть в диапазоне: 2..16.');
Writeln('Повторите ввод.');
end;
until Base in [2..16];
StrNum := '';
i := 0;
repeat
i := i + 1;
case Num mod Base of
0 : StrNum := '0' + StrNum;
1 : StrNum := '1' + StrNum;
2 : StrNum := '2' + StrNum;
3 : StrNum := '3' + StrNum;
4 : StrNum := '4' + StrNum;
5 : StrNum := '5' + StrNum;
6 : StrNum := '6' + StrNum;
7 : StrNum := '7' + StrNum;
8 : StrNum := '8' + StrNum;
9 : StrNum := '9' + StrNum;
10 : StrNum := 'A' + StrNum;
11 : StrNum := 'B' + StrNum;
12 : StrNum := 'C' + StrNum;
13 : StrNum := 'D' + StrNum;
14 : StrNum := 'E' + StrNum;
15 : StrNum := 'F' + StrNum;
end;
Num := Num div Base;
until Num = 0;
Writeln('Ответ.');
Writeln('Заданное число в системе счисления по основанию ', Base);
Writeln('имеет вид: ', StrNum);
Writeln('и содержит ', i, ' цифр.');
Writeln('Повторить - Enter, выход - любой символ + Enter.');
Readln(S);
until S <> '';
end.