Нева - Вена
Куба - Баку
Ирак - Каир
Эльбрус - Эльбурс
Токио - Киото
Var c,i:integer;
function sov(k:integer):boolean;
var j,s:integer;
begin
result:=false;
s:=0;
for j:=1 to k div 2 do if k mod j=0 then s:=s+j;
if s=k then result:=true;
end;
begin
read(c);
i:=1;
while (sov(c+i)=false) and (sov (c-i)=false) do i:=i+1;
if sov(c+i)=true then writeln(c+i) else writeln(c-i)
<span>end.</span>
В пункт F можно попасть из пунктов A,D,E
Длина пути A->F равна 20
Рассмотрим пути из пункта A в пункт D
A->D (длина 7)
A->B->D (длина 8)
A->C->D (длина 8)
Самый короткий из них - путь A->D
Далее, из пункта D можно сразу попасть в пункт F, а можно через пункт E
D->F (длина 11)
D->E->F (длина 9)
кратчайший путь - путь D->E->F
сложив его длину с длиной пути A->D, получим 16
Сравнив этот путь с A->F, делаем вывод, что путь A->D->E->F самый короткий (его длина равна 16)