Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр - C# (189597)
Формулировка задачи:
Составить программу с помощью цикла for. Помогите, пожалуйста, глупому новичку.
Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр. Факториал числа n рассчитывается по следующей формуле n!=1*2*3*..*n.
Решение задачи: «Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр»
textual
Листинг программы
namespace ConsoleApplication1
{
internal static class Program
{
private static void Main(string[] args)
{
var numsList = new List<int>();
for (int i = 100; i <= 999; ++i)
{
if (i == i.GetNumbers().Select(x => x.Fact()).Sum())
{
numsList.Add(i);
}
}
foreach (var item in numsList)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
private static IEnumerable<int> GetNumbers(this int item)
{
do
{
yield return item % 10;
item /= 10;
} while (item > 0);
}
private static int Fact(this int n)
{
int res = 1;
for (int i = 2; i <= n; ++i)
{
res *= i;
}
return res;
}
}
}