Программа C: число Армстронга
Сделать блог о том, как создать программу на языке c о том, есть число армстронг или нет.
Число Армстронга — это число, равное сумме своих собственных цифр, возведенной в степень числа цифр. Например, 153 — это число Армстронга, потому что оно равно 1^3 + 5^3 + 3^3 = 153. В этом блоге мы обсудим, как создать программу на языке C, чтобы определить, является ли заданное число число Армстронга или нет.
Шаг 1: Понимание логики
Прежде чем приступить к части программирования, нам нужно понять логику числа Армстронга. Число Армстронга можно найти, выполнив следующие действия:
1.Возьмите введенный номер у пользователя.
int main() { int n, originalNumber, remainder, result = 0, count = 0 ; printf("Enter an integer: "); scanf("%d", &n); originalNumber = n;
2.Подсчитайте количество цифр во входном числе.
// Calculating the number of digits while (originalNumber != 0) { originalNumber /= 10; ++count; }
3. Возведите каждую цифру в степень количества цифр.
4.Добавьте результаты, полученные на шаге 3.
originalNumber = n; // Calculating the Armstrong number while (originalNumber != 0) { rem = originalNumber % 10; result += pow(rem, count); originalNumber /= 10;
5.Если сумма, полученная на шаге 4, равна введенному числу, то это число является числом Армстронга. В противном случае это не так.
Шаг 2: Написание полного кода
Теперь, когда мы отдельно разобрались с логикой, вот полный код программы.
#include <stdio.h> #include <math.h> int main() { int n, originalNumber, rem, result = 0, count = 0 ; printf("Enter an integer: "); scanf("%d", &n); originalNumber = n; // Calculating the number of digits while (originalNumber != 0) { originalNumber /= 10; ++count; } originalNumber = n; // Calculating the Armstrong number while (originalNumber != 0) { rem = originalNumber % 10; result += pow(rem, count); originalNumber /= 10; } // Checking if the number is Armstrong or not if (result == n) printf("%d is an Armstrong number.", n); else printf("%d is not an Armstrong number.", n); return 0; }