Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления. Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков. Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2. Остаётся число 6. Проверим
program reverse;
var
n, m: integer;
begin
write('Введите число N: ');
read(n);
while (n > 0) do
begin
m := m * 10 + n mod 10;
n := n div 10;
end;
write('Перевернутое число: ', m);
end.
Объяснение:
program reverse; // Название программы
var
n, m: integer; // Создание целочисленных переменных по условию
begin // Начало программы
write('Введите число N: '); // Вывод сообщения в консоль
read(n); // Считываем число с клавиатуры
while (n > 0) do // Пока значение переменной n > 0 выполняем
begin // Начало цикла
m := m * 10 + n mod 10; // Вписываем в нужный разряд (m * 10) последнюю цифру введенного числа (n mod 10 - остаток от деления на 10)
n := n div 10; // Отделяем последнюю цифру от введенного числа путем целочисленного деления на 10
end; // Конец цикла
write('Перевернутое число: ', m); // Вывод ответа
end. // Конец программы
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза.
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим
49/6=8 |1
8/6 = 1 |2
1/6=0 |1
121(6)