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

22 Сен 2019 в 08:42
249 +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 Апр 2024 в 20:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир