Вопрос задан 07.11.2026 в 11:49.
Предмет Информатика.
Спрашивает Попович Артур.
Два числа называются дружественными, если сумма собственных делителей (то есть всех положительных делителей, отличных от самого числа) любого из них равна другому числу. Например, числа 220 и 284 дружественные.
Выведите в порядке возрастания числа в диапазоне [2; 30000], имеющие дружественное число, большее чем само это число, и через пробел это дружественное число. Каждое следующее число из указанного диапазона выводите на новой строке.
В ПАСКАЛЕ ABC
Ответы на вопрос
Отвечает Ханский Кыдыр.
Программа перебирает числа от 2 до 30000, находит сумму собственных делителей каждого числа и проверяет, образуют ли числа дружественную пару.
PascalABC.NET:
function SumDiv(n: integer): integer;
var i, s: integer;
begin
s := 1;
for i := 2 to Trunc(Sqrt(n)) do
if n mod i = 0 then
begin
s := s + i;
if i <> n div i then
s := s + n div i;
end;
if n = 1 then s := 0;
Result := s;
end;
var n, m: integer;
begin
for n := 2 to 30000 do
begin
m := SumDiv(n);
if (m > n) and (SumDiv(m) = n) then
Writeln(n, ' ', m);
end;
end.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

