Если число 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 z3; const n=3; var A:array[1..n] of string; var B:array[1..n] of string; i,k:byte;
begin writeln('Ввод названий газет:'); for i:=1 to n do begin write('[',i,'] '); readln(A[i]);end; writeln('Ввод фамилий подписчиков:'); for i:=1 to n do begin write('[',i,'] '); readln(B[i]);end; k:=0; for i:=1 to n do if (A[i]='Правда') and (B[i]='Петров') then k:=i; if k<>0 then writeln('Да, Петров выписывает Правду.') else writeln('Петров не выписывает Правду.'); end.
Пример: Ввод названий газет: [1] Правда [2] Мир [3] Атеист Ввод фамилий подписчиков: [1] Петров [2] Дружаев [3] Базаров Да, Петров выписывает Правду.
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)
const n=3;
var A:array[1..n] of string;
var B:array[1..n] of string;
i,k:byte;
begin
writeln('Ввод названий газет:');
for i:=1 to n do
begin write('[',i,'] '); readln(A[i]);end;
writeln('Ввод фамилий подписчиков:');
for i:=1 to n do
begin write('[',i,'] '); readln(B[i]);end;
k:=0;
for i:=1 to n do
if (A[i]='Правда') and (B[i]='Петров') then k:=i;
if k<>0 then writeln('Да, Петров выписывает Правду.')
else writeln('Петров не выписывает Правду.');
end.
Пример:
Ввод названий газет:
[1] Правда
[2] Мир
[3] Атеист
Ввод фамилий подписчиков:
[1] Петров
[2] Дружаев
[3] Базаров
Да, Петров выписывает Правду.