Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
21:24
3800
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

Автор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
К списку тем
2007-2025, онлайн игры HeroesWM