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

У програмі зовнішній цикл повторюється від (низький + 1) до (високий - 1) . У кожній ітерації перевіряється, чи є число числом Армстронга чи ні.

Усередині зовнішнього циклу кількість цифр цілого числа обчислюється спочатку і зберігається в count. І сума потужності окремих цифр зберігається у змінній результату.

Якщо число дорівнює result, число є числом Армстронга.

Примітка: Вам потрібно скинути рахунок і результат до 0 на кожній ітерації зовнішнього циклу.

Цікаві статті...