Составить программу для решения следующей задачи : Найти натуральное число от 1 до 10000...

0 голосов
46 просмотров

Составить программу для решения следующей задачи : Найти натуральное число от 1 до 10000 с с максимальной суммой делителей.


Информатика (18 баллов) | 46 просмотров
Дан 1 ответ
0 голосов
var n,k: integer;begin  n:=1;  while n<10000 do  begin    k:=n+1;    n:=n*k;  end;  n:=n div k;  writeln('число:  ',n);end.<br>
(9.7k баллов)
0

Оказалось, что это не самое большое число.

0

var i,j,k,s,mx,nmb: integer; begin i:=1; k:=1; repeat i:=i+1; k:=k*i; until k>10000; k:=k div i; mx:=0; for i:=k to 10000 do begin s:=0; for j:=1 to i div 2 do if i mod j = 0 then s:=s+i; if s>mx then begin mx:=s; nmb:=i; end; end; writeln('число: ',nmb); writeln('сумма делителей: ',s); end.

0

число: 9240 сумма делителей: 240000

0

Сумма делителей не правильно выводится.

0

var i,j,k,s,mx,nmb: integer; begin i:=1; k:=1; repeat i:=i+1; k:=k*i; until k>10000; k:=k div i; mx:=0; for i:=k to 10000 do begin s:=0; for j:=1 to i div 2 do if i mod j = 0 then s:=s+j; s:=s+i; if s>mx then begin mx:=s; nmb:=i; end; end; writeln('число: ',nmb); writeln('сумма делителей: ',mx); end.

0

число: 9240 сумма делителей: 34560