Программа C для отображения числа Армстронга между двумя интервалами

В этом примере вы научитесь находить все числа Армстронга между двумя целыми числами, введенными пользователем.

Чтобы понять этот пример, вы должны знать следующие темы программирования на C:

  • C if… else Заявление
  • C для цикла

Положительное целое число называется числом Армстронга (порядка n), если

 abcd… = an + bn + cn + dn + 

В случае числа Армстронга из 3 цифр сумма кубиков каждой цифры равна самому числу. Например, 153 - это число Армстронга, потому что

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 

Прежде чем пробовать эту программу, узнайте, как проверить, является ли целое число числом Армстронга или нет.

Числа Армстронга между двумя целыми числами

 #include #include int main() ( int low, high, number, originalNumber, rem, count = 0; double result = 0.0; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Armstrong numbers between %d and %d are: ", low, high); // iterate number from (low + 1) to (high - 1) // In each iteration, check if number is Armstrong for (number = low + 1; number < high; ++number) ( originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++count; ) originalNumber = number; // result contains sum of nth power of individual digits while (originalNumber != 0) ( rem = originalNumber % 10; result += pow(rem, count); originalNumber /= 10; ) // check if number is equal to the sum of nth power of individual digits if ((int)result == number) ( printf("%d ", number); ) // resetting the values count = 0; result = 0; ) return 0; )

Вывод

 Введите два числа (интервалы): 200 2000 чисел Армстронга между 200 и 2000: 370 371 407 1634 

В программе внешний цикл повторяется от (low + 1) до (high - 1) . На каждой итерации проверяется, является ли число числом Армстронга.

Внутри внешнего цикла количество цифр целого числа сначала вычисляется и сохраняется в count. И сумма мощности отдельных цифр сохраняется в переменной результата.

Если число равно result, это число Армстронга.

Примечание. Вам необходимо сбрасывать счетчик и возвращать результат в 0 на каждой итерации внешнего цикла.

Интересные статьи...