Записать все числа Армстронга менее 100 000 - C#
Формулировка задачи:
число Armstrong
Запишите все числа Армстронга менее 100 000. Армстронг число порядка п является п-значное число, которое равно сумме квадратов п-го его цифр. Например, любая одноразрядная номер порядковый номер Армстронга 1, номер 1 = 153 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 номер заказа Armstrong треть
Выдержки:
Номер Все Армстронга менее 100 000: 1, 2,. , , 93084
Решение задачи: «Записать все числа Армстронга менее 100 000»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
static int GetLength(int n)
{
int length = 0;
do
{
++length;
n /= 10;
} while (n != 0);
return length;
}
static bool IsArmstrong(int n)
{
int length = GetLength(n);
int originN = n;
int sum = 0;
while (n != 0)
{
sum += (int) Math.Round(Math.Pow(n%10, length));
n /= 10;
}
return sum == originN;
}
static void Main(string[] args)
{
Console.WriteLine(string.Join(Environment.NewLine, Enumerable.Range(1, 99999).Where(IsArmstrong)));
}
}