Автор | Pascal |
В чём ошибка?
Среди чисел от 1 до n найти все числа у которых сумма делителей суммы делителей числа равна числу.
program frendly_number;
procedure summa_del(m:integer;var S:integer);
var
i,Sum:integer;
begin
Sum:=0;
S:=0;
for i:= 2 to m div 2 do
if m mod i = 0 then Sum:=Sum + i;
for i:= 2 to Sum div 2 do
if Sum mod i = 0 then S:=S + 1;
end;
var
n,i,summa:integer;
begin
writeln('vvedite chislo');
readln(m);
for i:=1 to n do begin
summa_del(i,summa)
if summa = i then writeln(i);
end;
end. |
for i:= 2 to Sum div 2 do
if Sum mod i = 0 then S:=S + 1;
Тут
for i:= 2 to Sum div 2 do
if Sum mod i = 0 then S:=S + i;
Но всё равно не правильно |
Метки поставь на точки где думаешь не пашет и тестируй) |
Pascal?
С облегчением |
я незнаю что такое сумма делителей суммы делителей числа равна числу если быпоподробней, но...
for i:=1 to n do begin
откуда здесь n взялось? когда ты m ввел
Попробуй так переписать программу:
program frendly_number;
procedure summa_del(m:integer;var S:integer);
var
j,Sum:integer;
begin
Sum:=0;
S:=0;
for j:= 2 to m div 2 do
if m mod j = 0 then Sum:=Sum + j;
for i:= 2 to Sum div 2 do
if Sum mod j = 0 then S:=S + j;
end;
var
n,i,summa:integer;
begin
writeln('vvedite chislo');
readln(n);
for i:=1 to n do
begin
summa_del(i,summa)
if summa = i then writeln(i);
end;
end. |
for i:= 2 to Sum div 2 do
for j:= 2 to Sum div 2 do |
сумма делителей суммы делителей числа равна числу
Походу это либо 4, либо число которое ни на что не делится кроме как на само себя? |
if m mod j = 0 then Sum:=Sum + j;
if Sum mod j = 0 then S:=S + j;
Еще вспомнил, здесь скобки нужны)))
if (m mod j) = 0 then Sum:=Sum + j;
if Sum (mod j = 0) then S:=S + j;
for j:= 2 to m div 2 do
for i:= 2 to Sum div 2 do
for j:= 2 to (m div 2) do
for i:= 2 to (Sum div 2) do |