const n = 3; var a : array [1..n,1..n] of string; smax : string; i,j,lmin,lmax,km : integer;
begin lmax := 0; smax := '';
for i := 1 to n do for j := 1 to n do begin readln (a[i,j]); if Length (a[i,j]) > lmax then begin smax := a[i,j]; lmax := Length (a[i,j]); end; end;
lmin := Length (a[1,1]); km := 1;
for i := 2 to n do if Length (a[i,i]) < lmin then begin lmin := Length (a[i,i]); km := i; end;
writeln (); for i := 1 to n do begin for j := 1 to n do write (a[i,j],' '); writeln (); end; writeln (); for i := 1 to n do begin for j := 1 to n do if (i = km) and (j = km) then write (smax,' ') else write (a[i,j],' '); writeln (); end; end.
Для решения задачи достаточно только первых двух предложений. В задаче утверждается, что после окончания университета математику было 44 года, а через год стало 100 лет.
Можно подойти к решению формально: обозначим неизвестное основание системы счисления за X. Напишем, чему равны числа из условия: 44 ~ 4 * X^1 + 4 * X^0 = 4X + 4 100 ~ 1 * X^2 + 0 * X^1 + 0 * X^0 = X^2 Воспользуемся тем, что второе число должно быть на 1 больше первого: X^2 = (4X + 4) + 1 X^2 = 4X + 5 X^2 - 4X = 5 X^2 - 4X + 4 = 5 + 4 (X - 2)^2 = 9 X = 2 +- 3 Итак, у получившегося квадратного уравнения есть два решения: X = -1 и X = 5. Первое решение, разумеется, постороннее: например, в системе счисления с основанием -1 никак не может быть написано 44, так как в такой системе нет цифры 4 (да и вообще, системы счисления с основанием 1 или -1 не вполне разумны: к примеру, в них одно и то же число может записываться по-разному. Подробнее о системах счисления с отрицательными основаниями, так называемых "нега-позиционных системах счисления" вы можете узнать в Википeдии). Итак, X = 5, и мы имеем дело с пятеричной системой счисления.
Другой нахождения неизвестного основания чрезвычайно прост. Заметим, что если при прибавлении к числу единицы произошел перенос в старший разряд, то это число оканчивается на цифру, на единицу меньшую, чем основание системы счисления (примеры: в десятичной системе счисления 9 + 1 = 10, в шестеричной 5 + 1 = 10). Так как в нашем случае число оканчивалось на 4, то основание системы счисления равно 4 + 1 = 5.
В завершение переведём все числа из текста в привычную нам десятичную систему счисления: "Я окончил курс университета 24 года отроду. Спустя год, 25-летним молодым человеком, я женился на 19-летней девушке. Незначительная разница в возрасте — всего 6 лет тому, что мы жили общими интересами и мечтами. Спустя немного лет у меня была уже и маленькая семья из 5 детей. Жалования я получал в месяц всего 50 рублей, из которых 1/5 приходилось отдавать сестре, так что мы с детьми жили на 40 руб. в месяц"
const
n = 3;
var
a : array [1..n,1..n] of string;
smax : string;
i,j,lmin,lmax,km : integer;
begin
lmax := 0;
smax := '';
for i := 1 to n do
for j := 1 to n do
begin
readln (a[i,j]);
if Length (a[i,j]) > lmax then
begin
smax := a[i,j];
lmax := Length (a[i,j]);
end;
end;
lmin := Length (a[1,1]);
km := 1;
for i := 2 to n do
if Length (a[i,i]) < lmin then
begin
lmin := Length (a[i,i]);
km := i;
end;
writeln ();
for i := 1 to n do
begin
for j := 1 to n do
write (a[i,j],' ');
writeln ();
end;
writeln ();
for i := 1 to n do
begin
for j := 1 to n do
if (i = km) and (j = km) then
write (smax,' ')
else
write (a[i,j],' ');
writeln ();
end;
end.
Можно подойти к решению формально: обозначим неизвестное основание системы счисления за X. Напишем, чему равны числа из условия:
44 ~ 4 * X^1 + 4 * X^0 = 4X + 4
100 ~ 1 * X^2 + 0 * X^1 + 0 * X^0 = X^2
Воспользуемся тем, что второе число должно быть на 1 больше первого:
X^2 = (4X + 4) + 1
X^2 = 4X + 5
X^2 - 4X = 5
X^2 - 4X + 4 = 5 + 4
(X - 2)^2 = 9
X = 2 +- 3
Итак, у получившегося квадратного уравнения есть два решения: X = -1 и X = 5. Первое решение, разумеется, постороннее: например, в системе счисления с основанием -1 никак не может быть написано 44, так как в такой системе нет цифры 4 (да и вообще, системы счисления с основанием 1 или -1 не вполне разумны: к примеру, в них одно и то же число может записываться по-разному. Подробнее о системах счисления с отрицательными основаниями, так называемых "нега-позиционных системах счисления" вы можете узнать в Википeдии).
Итак, X = 5, и мы имеем дело с пятеричной системой счисления.
Другой нахождения неизвестного основания чрезвычайно прост. Заметим, что если при прибавлении к числу единицы произошел перенос в старший разряд, то это число оканчивается на цифру, на единицу меньшую, чем основание системы счисления (примеры: в десятичной системе счисления 9 + 1 = 10, в шестеричной 5 + 1 = 10). Так как в нашем случае число оканчивалось на 4, то основание системы счисления равно 4 + 1 = 5.
В завершение переведём все числа из текста в привычную нам десятичную систему счисления:
"Я окончил курс университета 24 года отроду. Спустя год, 25-летним молодым человеком, я женился на 19-летней девушке. Незначительная разница в возрасте — всего 6 лет тому, что мы жили общими интересами и мечтами. Спустя немного лет у меня была уже и маленькая семья из 5 детей. Жалования я получал в месяц всего 50 рублей, из которых 1/5 приходилось отдавать сестре, так что мы с детьми жили на 40 руб. в месяц"