Ответы на вопрос:
Ошибки две: 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.
Популярно: Информатика
-
айлимайли22.12.2020 12:46
-
ArtemkaRus7105.09.2021 09:59
-
Tictax04.12.2020 06:32
-
ОливияСэм03.08.2022 23:43
-
Relax11111102.06.2020 05:36
-
lermolen01.03.2021 15:40
-
тата27023.09.2022 20:17
-
Scvetocheek112.04.2020 03:37
-
timev0119.02.2023 05:15
-
1234567da11.10.2020 05:34