Вводится последовательность из N целых чисел. Найти максимальное совершенное число в последовательности, если таких несколько, вывести их количество (функцией оформить проверку числа: результатом функции будет 1 – число совершенное, 0 - нет).(C#)
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; } } }
using System;
namespace FindPerfectNumbers
int[] sequence = new int[N];{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter the length of the sequence: ");
int N = int.Parse(Console.ReadLine());
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;
}
}
}
}