Pascal. Задача 3-12*
Пользователь вводит натуральное число и основание системы счисления. Вывести число в этой системе счисления. Число N < 100000, основание системы счисления: 2 ≤ q ≤ 10.
Примечание: Использовать только целый тип данных. Полученные цифры числа в q-ой системе счисления нужно перевести в десятичное число, но чтобы при этом оно выглядело как число в q-ой системе счисления.
Например, пользователь вводит число 13 и основание системы 2, программа должна вывести десятичное число 1101
Для преобразованного числа необходимо использовать тип int64.
Решение
var
N, q, digit : integer;
Nq, s10 : int64;
begin
s10 := 1;
Nq := 0;
writeln('Введите натуральное число, меньше 100000: ');
read(N);
writeln('Введите основание системы счисления (от 2 до 9): ');
read(q);
while N > 0 do begin
digit := N mod q; // Остаток от деления на основание системы
Nq := Nq + digit * s10; // добавляем цифру в результат слева
s10 := s10 * 10; // подготавливаем степень 10 для следующего разряда результата
N := N div q; // Деление на основание системы
end;
writeln('Число в системе счисления с основанием ', q, ': ', Nq);
end.