Вводится последовательность из N целых чисел. Найти максимальное совершенное число в последовательности, если таких несколько, вывести их количество (функцией оформить проверку числа: результатом функции будет 1 – число совершенное, 0 - нет).(C#)

22 Сен 2019 в 08:42
226 +1
0
Ответы
1

using System;

namespace FindPerfectNumbers
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter the length of the sequence: ");
int N = int.Parse(Console.ReadLine());

int[] sequence = new int[N];
Console.WriteLine("Enter the sequence of numbers:");
for (int i = 0; i < N; i++)
{
sequence[i] = int.Parse(Console.ReadLine());
}
int maxPerfectNumber = int.MinValue;
int countPerfectNumbers = 0;
foreach (int num in sequence)
{
int result = CheckPerfectNumber(num);
if (result == 1)
{
if (num > maxPerfectNumber)
{
maxPerfectNumber = num;
countPerfectNumbers = 1;
}
else if (num == maxPerfectNumber)
{
countPerfectNumbers++;
}
}
}
if (maxPerfectNumber != int.MinValue)
{
Console.WriteLine($"Max perfect number in the sequence is: {maxPerfectNumber}");
Console.WriteLine($"Number of perfect numbers equal to {maxPerfectNumber} is: {countPerfectNumbers}");
}
else
{
Console.WriteLine("There are no perfect numbers in the sequence.");
}
}
static int CheckPerfectNumber(int num)
{
int sum = 0;
for (int i = 1; i <= num / 2; i++)
{
if (num % i == 0)
{
sum += i;
}
}
if (sum == num && sum != 0)
{
return 1;
}
else
{
return 0;
}
}
}

}

19 Апр в 20:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 727 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир