Задать вопрос
29 марта, 03:16

Найдите ошибку. (выводит просто большее число)

Найти натуральное число из интервала от 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.

+2
Ответы (1)
  1. 29 марта, 06:11
    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.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Найдите ошибку. (выводит просто большее число) Найти натуральное число из интервала от a до b с максимальной суммой делителей. var max, i, ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы