Program C ++ pentru verificarea numărului Armstrong

În acest exemplu, veți învăța să verificați dacă un număr introdus de utilizator este sau nu un număr Armstrong.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C ++:

  • C ++ dacă, dacă … altfel și cuibărit dacă … altfel
  • C ++ while și do… while Buclă

Un număr întreg pozitiv se numește număr Armstrong (de ordinul n) dacă

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

În cazul unui număr Armstrong de 3 cifre, suma cuburilor fiecărei cifre este egală cu numărul în sine. De exemplu, 153 este un număr Armstrong deoarece

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

Exemplu: Verificați numărul Armstrong de 3 cifre

 #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; )

Ieșire

 Introduceți un număr întreg pozitiv: 371 371 este un număr Armstrong.

În program, iterăm prin bucla while până când originalNum este 0.

În fiecare iterație a buclei, se adaugă cubul ultimei cifre a orignalNum pentru a rezulta.

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

Și, ultima cifră este eliminată din orignalNum.

Când bucla se termină, suma cubului cifrei individuale este stocată în rezultat.

Exemplu: Verificați numărul Armstrong de n cifre

 #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; )

Ieșire

 Introduceți un număr întreg: 1634 1634 este un număr Armstrong.

În acest program, numărul de cifre al numărului introdus este calculat mai întâi și stocat în n.

Și pow()funcția calculează puterea cifrelor individuale în fiecare iterație a whilebuclei.

Articole interesante...