В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
влада415
влада415
08.10.2022 18:38 •  Информатика

перевести код на Python const MAX = 38;

var n,x,y,i,j : integer;

var m : array [1..MAX, 1..MAX] of integer;

var maxH : integer;

procedure spojuj(x,y,hloubka : integer);

var i,j : integer;

begin

if hloubka > maxH then maxH := hloubka;

for i:=1 to MAX do

if m[y, i] > 0 then

begin

dec(m[y,i]);

spojuj(y, i, hloubka +1);

spojuj(i, y, hloubka +1);

inc(m[y,i]);

end

else if m[i, y] > 0 then

begin

dec(m[i,y]);

spojuj(i, y, hloubka +1);

spojuj(y, i, hloubka +1);

inc(m[i,y]);

end;

end;

begin

maxH := 0;

for i:=1 to MAX do

for j:=1 to MAX do

m[i,j] := 0;

read(n);

for i:=1 to n do

begin

read(x,y);

inc(m[x,y]);

end;

for i:=1 to MAX do

for j:=1 to MAX do

if m[i,j] > 0 then

begin

dec(m[i,j]);

spojuj(i,j,1);

spojuj(j,i,1);

inc(m[i,j]);

end;

write(maxH);

end.

Показать ответ
Ответ:
ayato0haruka
ayato0haruka
23.01.2020 18:23
Вообще то, это задача чисто математическая.  Пусть есть трехзначное число abc.
По условию:

   abc
+ abc

   bca
Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос  ->  получим систему уравнений:
2c = a +16
2b +1 = c + 16
2a + 1 = b
равносильная ей система
2с = a + 16
c = 2b - 15
b = 2a + 1
подставляем третье во второе, получаем первые два уравнения
2с = a + 16
c = 4a - 13   из этих двух уравнений  ->   7a = 42  ->  a = 6  -> из третьего уравнения  b = 13
13 = D(16),   из первого уравнения  с = 22/2 = 11(10) = B(16)
->  abc(16) = 6DB(16) = 1755(10),     DB6(16) = 3510(10)   -> 2abc = bca
0,0(0 оценок)
Ответ:
Jastick
Jastick
16.01.2022 00:23
Во-первых, не whill, а while.
 Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
 Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота