TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.6K subscribers
Post #5438 4.72K
🔢 Проверка чисел Армстронга в C#: разные подходы и решения

Число Армстронга — это число, равное сумме своих цифр, возведенных в степень, равную количеству цифр. Например, 153 — это число Армстронга, потому что
(1 в степени 3) + (5 в степени 3) + (3 в степени 3) = 153.

💡 Числа Армстронга — отличный пример для изучения работы с алгоритмами, циклами и математическими операциями в C#. Это полезно для новичков, которые хотят углубиться в программирование, и для практического изучения таких технологий, как LINQ.

📌 Основные методы:

1️⃣Цикл while:
Базовый подход, который итерирует по каждой цифре числа и суммирует ее степень.
int number = 153; // Пример
int result = 0, temp = number, digits = number.ToString().Length;

while (temp > 0) {
int remainder = temp % 10;
result += (int)Math.Pow(remainder, digits);
temp /= 10;
}
Console.WriteLine(result == number ? "Число Армстронга" : "Не число Армстронга");


2️⃣Рекурсия:
Используется для разбиения задачи на более мелкие части.
static int SumOfPowers(int number, int digits) {
if (number == 0) return 0;
int digit = number % 10;
return (int)Math.Pow(digit, digits) + SumOfPowers(number / 10, digits);
}


3️⃣LINQ:
Компактный и читабельный способ проверки.
int number = 153;
int digits = number.ToString().Length;

bool isArmstrong = number.ToString()
.Select(c => (int)Math.Pow(char.GetNumericValue(c), digits))
.Sum() == number;

Console.WriteLine(isArmstrong ? "Число Армстронга" : "Не число Армстронга");
  • 👍 16
  • 🥱 2
  • 🤩 1
More from @csharpproglib
  1. Oct 13, 2026🚀 C# Dev Kit: сначала открытый файл, потом весь solution Открыли большой solution и ждёте…
  2. Oct 12, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
  3. Oct 10, 2026Post #7285
  4. Oct 10, 2026Перенос MiniJinja с Rust на Go силами Opus и Codex Около десяти часов работы агента и прим…
  5. Sep 30, 2026📝 Логирование со строковой интерполяцией Логирование c интерполяцией строк один из самых…
  6. Sep 28, 2026👨‍💻 Не показывайте технические ошибки пользователям Когда приложение падает с необработа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →