Програма C ++ за проверка на номера на Армстронг

В този пример ще се научите да проверявате дали въведеният от потребителя номер е номер на Армстронг или не.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:

  • C ++ ако, ако … друго и вложено ако … друго
  • 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цикъла.

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