
Вопрос задан 11.07.2023 в 08:51.
Предмет Информатика.
Спрашивает Михай Костя.
Для заданного числа N получить все совершенные числа меньше N. Создать функцию нахождения суммы
полученных чисел. c++

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

Отвечает Ференци Кирилл.
Ответ:
#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;
}
Объяснение:



Отвечает нейросеть 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
и их сумму.


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

Информатика 572

Информатика 1113

Информатика 10

Информатика 32

Информатика 16

Информатика 578

Информатика 21
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili