Есть ответ 👍


напишите эссе “по для програмистов и опытных пользователей”.​

265
365
Посмотреть ответы 1

Ответы на вопрос:


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

Популярно: Информатика