• Предмет: Информатика
  • Автор: sohard21сentury
  • Вопрос задан 7 лет назад

Найдите ошибку. ( выводит просто большее число )
Найти натуральное число из интервала от a до b с максимальной суммой делителей.
var max,i,j,k,a,b,z:integer;
begin
k:=0;
max:=0;
readln(a,b);
for i:=a to b do
begin
for j:=1 to i do
if (i mod j)=0 then
k:=k+1;
if k>max then
begin
max:=k;
z:=i;
end;
end;
writeln (z);
end.

Ответы

Ответ дал: Аноним
0
var
  max,i,j,s,a,b,z:integer;
begin
  max:=0;
  Readln(a,b);
  for i:=a to b do begin
    s:=0;
    for j:=1 to i do
      if i mod j=0 then s:=s+j;
    if s>max then begin max:=s; z:=i end
  end;
  Writeln(z)
end.

Вас заинтересует