Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр - C# (189597)

Узнай цену своей работы

Формулировка задачи:

Составить программу с помощью цикла for. Помогите, пожалуйста, глупому новичку. Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр. Факториал числа n рассчитывается по следующей формуле n!=1*2*3*..*n.

Решение задачи: «Найти все трехзначные числа, представимые в виде сумм факториалов своих цифр»

textual
Листинг программы
  1. namespace ConsoleApplication1
  2. {
  3.     internal static class Program
  4.     {
  5.         private static void Main(string[] args)
  6.         {
  7.             var numsList = new List<int>();
  8.             for (int i = 100; i <= 999; ++i)
  9.             {
  10.                 if (i == i.GetNumbers().Select(x => x.Fact()).Sum())
  11.                 {
  12.                     numsList.Add(i);
  13.                 }
  14.             }
  15.  
  16.             foreach (var item in numsList)
  17.             {
  18.                 Console.WriteLine(item);
  19.             }
  20.  
  21.             Console.ReadKey();
  22.         }
  23.  
  24.         private static IEnumerable<int> GetNumbers(this int item)
  25.         {
  26.             do
  27.             {
  28.                 yield return item % 10;
  29.                 item /= 10;
  30.             } while (item > 0);
  31.         }
  32.  
  33.         private static int Fact(this int n)
  34.         {
  35.             int res = 1;
  36.             for (int i = 2; i <= n; ++i)
  37.             {
  38.                 res *= i;
  39.             }
  40.             return res;
  41.         }
  42.     }
  43. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы