using System; //6, //28, //496, //8128, //33550336 internal class Program { private static void Main() { var max = 0L; var quantity = 0; Console.WriteLine("Введите последовательность. Для окончания введите ноль"); do { var n = long.Parse(Console.ReadLine()); if (n == 0) break; if (max == n) quantity++; else if (n > max && IsIdealNumber(n)) { max = n; quantity = 1; } } while (true); Console.WriteLine($"max = {max}, кол-во = {quantity}"); Console.ReadKey(); } private static bool IsIdealNumber(long number) { var sum = 1L; for (var i = 2L; i <= number / 2; i++) { if (number % i != 0) continue; sum += i; if (sum > number || number < 0) break; } Console.WriteLine($"number = {number}, sum = {sum}"); return sum == number; //зачем выдумывать нолики и единички если давно придуманы буленовские переменные } }