Програма C ++ для перевірки числа Армстронга

У цьому прикладі ви навчитеся перевіряти, чи введене користувачем число є числом Армстронга.

Щоб зрозуміти цей приклад, ви повинні знати наступні теми програмування на C ++:

  • C ++ if, if … else та вкладений if … else
  • C ++ в той час як і робити … поки Loop

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

abcd… = a n + b n + c n + d n +…

У разі числа Армстронга з 3 цифр сума кубів кожної цифри дорівнює самому числу. Наприклад, 153 - це число Армстронга, оскільки

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

Приклад: Перевірте число Армстронга з 3 цифр

 #include using namespace std; int main() ( int num, originalNum, remainder, result = 0; cout <> num; originalNum = num; while (originalNum != 0) ( // remainder contains the last digit remainder = originalNum % 10; result += remainder * remainder * remainder; // removing last digit from the orignal number originalNum /= 10; ) if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; )

Вихідні дані

 Введіть додатне ціле число: 371 371 - число Армстронга.

У програмі ми перебираємо цикл while, доки originalNum не дорівнює 0.

У кожній ітерації циклу до результату додається куб останньої цифри orignalNum.

 remainder = originalNum % 10; result += remainder * remainder * remainder;

І остання цифра видаляється з orignalNum.

Коли цикл закінчується, сума куба окремої цифри зберігається в результаті.

Приклад: Перевірте кількість Армстронга з n цифр

 #include #include using namespace std; int main() ( int num, originalNum, remainder, n = 0, result = 0, power; cout <> num; originalNum = num; while (originalNum != 0) ( originalNum /= 10; ++n; ) originalNum = num; while (originalNum != 0) ( remainder = originalNum % 10; // pow() returns a double value // round() returns the equivalent int power = round(pow(remainder, n)); result += power; originalNum /= 10; ) if (result == num) cout << num << " is an Armstrong number."; else cout << num << " is not an Armstrong number."; return 0; )

Вихідні дані

 Введіть ціле число: 1634 1634 - число Армстронга.

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

І pow()функція обчислює потужність окремих цифр у кожній ітерації whileциклу.

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