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

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

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

  • C ++ if, if… else и Nested if… else
  • C ++ while и do … while Цикл

Положительное целое число называется числом Армстронга (порядка 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цикла.

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