Найти все совершенные числа на отрезке - C#
Формулировка задачи:
На натуральном отрезке [a,b] найти все совершенные числа. Натуральное число называется совершенным, если оно равно сумме своих делителей, за исключением самого числа. Например: 1+2+3=6.
Решение задачи: «Найти все совершенные числа на отрезке»
textual
Листинг программы
using System;
namespace ConsoleApplication5
{
class Program
{
static bool IsPerfect(int n)
{
int sum = 0;
for(int i = 1; i < n; i++)
{
if(n % i == 0) sum += i;
}
return sum == n;
}
static void Main(string[] args)
{
Console.Write("a=");
int a = int.Parse(Console.ReadLine());
Console.Write("b=");
int b = int.Parse(Console.ReadLine());
for(int i = a; i <= b; i++)
{
if(IsPerfect(i)) Console.WriteLine($"{i}");
}
Console.ReadKey(true);
}
}
}