Программа 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;
}