Найти все трехзначные числа Армстронга - C#
Формулировка задачи:
Натуральное число из n цифр является числом Армстронга, если сумма его цифр,
возведенных в n-ную степень, равна самому числу. Например, 153=1^3+5^3+3^3
. Найти все
трехзначные числа Армстронга.
Решение задачи: «Найти все трехзначные числа Армстронга»
textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
static bool IsArmstrong(int n)
{
int k = n;
List<int> digits = new List<int>();
do
{
digits.Add(k % 10);
} while ((k /= 10) != 0);
return n == digits.Sum(x => (int)Math.Round(Math.Pow(x, digits.Count)));
}
static void Main()
{
Console.WriteLine(String.Join(", ", Enumerable.Range(100, 900).Where(i => IsArmstrong(i))));
}
}