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.