Вопрос задан 11.07.2023 в 08:51. Предмет Информатика. Спрашивает Михай Костя.

Для заданного числа N получить все совершенные числа меньше N. Создать функцию нахождения суммы

полученных чисел. c++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ференци Кирилл.

Ответ:

#include <iostream>

using namespace std;

bool perf(int n) {

int s = 0;

for (int i = 1; i < n; i++) {

 if (n % i == 0) s += i;

}

return (s == n);

}

int main() {

int n,sum=0;

cin >> n;

for (int i = 1; i <= n; i++) {

 if (perf(i)) sum += i;

}

cout << sum;

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример кода на C++, который находит все совершенные числа меньше заданного числа N и вычисляет их сумму:

cpp
#include <iostream> #include <vector> bool isPerfectNumber(int num) { int sum = 1; // Изначально сумма равна 1 (так как каждое число делится на 1) for (int i = 2; i * i <= num; ++i) { if (num % i == 0) { sum += i; if (i != num / i) { sum += num / i; } } } return sum == num; } std::vector<int> getPerfectNumbers(int N) { std::vector<int> perfectNumbers; for (int i = 2; i < N; ++i) { if (isPerfectNumber(i)) { perfectNumbers.push_back(i); } } return perfectNumbers; } int sumPerfectNumbers(const std::vector<int>& numbers) { int sum = 0; for (int num : numbers) { sum += num; } return sum; } int main() { int N; std::cout << "Введите число N: "; std::cin >> N; std::vector<int> perfectNumbers = getPerfectNumbers(N); int sum = sumPerfectNumbers(perfectNumbers); std::cout << "Совершенные числа меньше " << N << ":\n"; for (int num : perfectNumbers) { std::cout << num << " "; } std::cout << "\nСумма совершенных чисел: " << sum << std::endl; return 0; }

Просто скопируйте этот код в файл с расширением .cpp, скомпилируйте и запустите его. Программа запросит у вас ввести число N, затем выведет список совершенных чисел меньше N и их сумму.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос