using System;
class ArmstrongNumbers
{
// Метод для обчислення кількості цифр у числі
static int CalcNumberOfDigits(int number)
{
return number.ToString().Length;
}
// Метод для обчислення суми цифр числа, піднесених до n-го степеня
static int CalcSumOfDigitsPowers(int number, int power)
{
int sum = 0;
int copy = number;
while (copy > 0)
{
int digit = copy % 10;
sum += (int)Math.Pow(digit, power);
copy /= 10;
}
return sum;
}
// Метод для перевірки, чи є число числом Армстронга
static bool IsArmstrongNumber(int number)
{
int numDigits = CalcNumberOfDigits(number);
int sumOfPowers = CalcSumOfDigitsPowers(number, numDigits);
return sumOfPowers == number;
}
// Метод для виведення всіх чисел Армстронга в діапазоні [2, n]
static void PrintAllArmstrongNumbers(int n)
{
Console.WriteLine($"Числа Армстронга в діапазоні [2,{n}]:");
for (int i = 2; i <= n; i++)
{
if (IsArmstrongNumber(i))
{
Console.WriteLine(i);
}
}
}
static void Main()
{
Console.Write("Введіть n: ");
int n = int.Parse(Console.ReadLine());
PrintAllArmstrongNumbers(n);
}
}
dXNpbmcgU3lzdGVtOwoKY2xhc3MgQXJtc3Ryb25nTnVtYmVycwp7CiAgICAvLyDQnNC10YLQvtC0INC00LvRjyDQvtCx0YfQuNGB0LvQtdC90L3RjyDQutGW0LvRjNC60L7RgdGC0ZYg0YbQuNGE0YAg0YMg0YfQuNGB0LvRlgogICAgc3RhdGljIGludCBDYWxjTnVtYmVyT2ZEaWdpdHMoaW50IG51bWJlcikKICAgIHsKICAgICAgICByZXR1cm4gbnVtYmVyLlRvU3RyaW5nKCkuTGVuZ3RoOwogICAgfQoKICAgIC8vINCc0LXRgtC+0LQg0LTQu9GPINC+0LHRh9C40YHQu9C10L3QvdGPINGB0YPQvNC4INGG0LjRhNGAINGH0LjRgdC70LAsINC/0ZbQtNC90LXRgdC10L3QuNGFINC00L4gbi3Qs9C+INGB0YLQtdC/0LXQvdGPCiAgICBzdGF0aWMgaW50IENhbGNTdW1PZkRpZ2l0c1Bvd2VycyhpbnQgbnVtYmVyLCBpbnQgcG93ZXIpCiAgICB7CiAgICAgICAgaW50IHN1bSA9IDA7CiAgICAgICAgaW50IGNvcHkgPSBudW1iZXI7CgogICAgICAgIHdoaWxlIChjb3B5ID4gMCkKICAgICAgICB7CiAgICAgICAgICAgIGludCBkaWdpdCA9IGNvcHkgJSAxMDsKICAgICAgICAgICAgc3VtICs9IChpbnQpTWF0aC5Qb3coZGlnaXQsIHBvd2VyKTsKICAgICAgICAgICAgY29weSAvPSAxMDsKICAgICAgICB9CgogICAgICAgIHJldHVybiBzdW07CiAgICB9CgogICAgLy8g0JzQtdGC0L7QtCDQtNC70Y8g0L/QtdGA0LXQstGW0YDQutC4LCDRh9C4INGUINGH0LjRgdC70L4g0YfQuNGB0LvQvtC8INCQ0YDQvNGB0YLRgNC+0L3Qs9CwCiAgICBzdGF0aWMgYm9vbCBJc0FybXN0cm9uZ051bWJlcihpbnQgbnVtYmVyKQogICAgewogICAgICAgIGludCBudW1EaWdpdHMgPSBDYWxjTnVtYmVyT2ZEaWdpdHMobnVtYmVyKTsKICAgICAgICBpbnQgc3VtT2ZQb3dlcnMgPSBDYWxjU3VtT2ZEaWdpdHNQb3dlcnMobnVtYmVyLCBudW1EaWdpdHMpOwoKICAgICAgICByZXR1cm4gc3VtT2ZQb3dlcnMgPT0gbnVtYmVyOwogICAgfQoKICAgIC8vINCc0LXRgtC+0LQg0LTQu9GPINCy0LjQstC10LTQtdC90L3RjyDQstGB0ZbRhSDRh9C40YHQtdC7INCQ0YDQvNGB0YLRgNC+0L3Qs9CwINCyINC00ZbQsNC/0LDQt9C+0L3RliBbMiwgbl0KICAgIHN0YXRpYyB2b2lkIFByaW50QWxsQXJtc3Ryb25nTnVtYmVycyhpbnQgbikKICAgIHsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgkItCn0LjRgdC70LAg0JDRgNC80YHRgtGA0L7QvdCz0LAg0LIg0LTRltCw0L/QsNC30L7QvdGWIFsyLHtufV06Iik7CiAgICAgICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbjsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKElzQXJtc3Ryb25nTnVtYmVyKGkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBzdGF0aWMgdm9pZCBNYWluKCkKICAgIHsKICAgICAgICBDb25zb2xlLldyaXRlKCLQktCy0LXQtNGW0YLRjCBuOiAiKTsKICAgICAgICBpbnQgbiA9IGludC5QYXJzZShDb25zb2xlLlJlYWRMaW5lKCkpOwoKICAgICAgICBQcmludEFsbEFybXN0cm9uZ051bWJlcnMobik7CiAgICB9Cn0K