C ++ programma Ārmstronga skaitļa pārbaudei

Šajā piemērā jūs iemācīsities pārbaudīt, vai lietotāja ievadītais skaitlis ir Ārmstronga numurs.

Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:

  • C ++, ja, ja … cits, un Nested, ja … cits
  • C ++ kamēr un darīt … kamēr cilpa

Pozitīvu veselu skaitli sauc par Ārmstronga skaitli (secībā n), ja

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

Ārmstronga 3 ciparu skaitļa gadījumā katra cipara kubu summa ir vienāda ar pašu skaitli. Piemēram, 153 ir Ārmstronga skaitlis, jo

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

Piemērs: pārbaudiet Ārmstronga 3 ciparu skaitu

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

Rezultāts

 Ievadiet pozitīvu veselu skaitli: 371 371 ir Ārmstronga skaitlis.

Programmā mēs atkārtojam cilpu while, līdz sākotnējaisNum ir 0.

Katrā cilpas atkārtojumā rezultātam tiek pievienots orignalNum pēdējā cipara kubs.

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

Un pēdējais cipars tiek noņemts no orignalNum.

Kad cilpa beidzas, atsevišķā cipara kuba summa tiek saglabāta rezultātā.

Piemērs: pārbaudiet Ārmstronga n ciparu skaitu

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

Rezultāts

 Ievadiet veselu skaitli: 1634 1634 ir Ārmstronga skaitlis.

Šajā programmā vispirms tiek aprēķināts ievadītā skaitļa ciparu skaits un tas tiek saglabāts n.

Un, tad pow()funkcija aprēķina spēku atsevišķu ciparu katrā atkārtojuma whilecilpas.

Interesanti raksti...