Вопрос задан 24.06.2023 в 12:37. Предмет Информатика. Спрашивает Ермаков Арсений.

НА С++ Совершенным называется число, равное сумме всех своих делителей, меньших его самого

(например, число 6=1+2+3). Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным. Входные данные Входная строка содержит натуральное число N . Выходные данные Если число N – совершенное, программа должна вывести в одну строчку через пробел все делители этого числа, меньшие N . Если число несовершенное, программа должна вывести 0. Примеры входные данные 28 выходные данные 1 2 4 7 14 входные данные 29 выходные данные 0
0 0
Перейти к ответам

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

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

Объяснение:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

int number = 0, sum = 0;

cout << "Number: ";

cin >> number;

vector <int> v;

if (number == 1)

{

cout << '1' << endl;

return 0;

}

for (int i = 1; i < number; i++)

{

if (number % i == 0)

{

sum += i;

v.push_back(i);

}

}

if (sum == number && !v.empty())

{

for (const auto& value : v)

{

cout << value << " ";

}

}

else

{

cout << '0';

}

return 0;

}

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

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

cpp
#include <iostream> int main() { int N; std::cin >> N; int sum_of_divisors = 0; std::cout << "Делители числа " << N << ", меньшие " << N << ": "; for (int i = 1; i < N; i++) { if (N % i == 0) { sum_of_divisors += i; std::cout << i << " "; } } std::cout << std::endl; if (sum_of_divisors == N) { std::cout << "Это число совершенное." << std::endl; } else { std::cout << "0" << std::endl; } return 0; }

Программа сначала вводит натуральное число N, затем находит все делители числа N, меньшие N, и выводит их. После этого программа проверяет, является ли число совершенным, и выводит соответствующее сообщение.

0 0

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

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

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

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