Как написать программу на C++, которая найдет все пары дружественных чисел, меньших 50000, не используя массивы? Два натуральных числа считаются дружественными, если каждое из них равно сумме делителей другого числа, исключая само число в качестве делителя.
Информатика 10 класс Алгоритмы и программирование программа на C++ дружественные числа делители натуральные числа меньше 50000 без массивов алгоритм поиска информатика задачи на программирование C++ задачи Новый
Чтобы написать программу на C++, которая находит все пары дружественных чисел меньше 50000, не используя массивы, мы можем следовать следующим шагам:
Сначала создадим функцию, которая будет вычислять сумму делителей числа, исключая само число. Эта функция будет принимать одно целое число в качестве аргумента и возвращать сумму его делителей.
Затем мы будем перебирать все числа от 1 до 49999 и для каждого числа будем находить его сумму делителей. После этого проверим, является ли найденная сумма делителей другим числом, и соответствует ли оно условиям для дружественных чисел.
Если мы находим пару дружественных чисел, мы выводим их на экран.
Теперь давайте посмотрим на пример кода, который реализует описанные шаги:
#include <iostream> using namespace std; // Функция для вычисления суммы делителей int sumOfDivisors(int n) { int sum = 0; for (int i = 1; i <= n / 2; i++) { if (n % i == 0) { sum += i; } } return sum; } int main() { for (int i = 1; i < 50000; i++) { int sum1 = sumOfDivisors(i); // Проверяем, чтобы сумма делителей была больше текущего числа if (sum1 > i && sum1 < 50000) { int sum2 = sumOfDivisors(sum1); // Проверяем, являются ли числа дружественными if (sum2 == i) { cout << "Дружественные числа: " << i << " и " << sum1 << endl; } } } return 0; }
Объяснение кода:
iostream
для работы с вводом и выводом.sumOfDivisors
, которая принимает число и возвращает сумму его делителей.main
мы перебираем все числа от 1 до 49999.Таким образом, мы можем найти все пары дружественных чисел меньше 50000, не используя массивы. Этот подход эффективен для решения данной задачи.