C ++ -ohjelma Armstrong-numeron tarkistamiseksi

Tässä esimerkissä opit tarkistamaan, onko käyttäjän syöttämä numero Armstrong-numero vai ei.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C ++ -ohjelmointiaiheista:

  • C ++ jos, jos… muu ja sisäkkäinen, jos … muuten
  • C ++ taas ja tee … silmukan aikana

Positiivista kokonaislukua kutsutaan Armstrong-luvuksi (järjestys n), jos

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

Armstrongin 3-numeroisen lukumäärän tapauksessa jokaisen numeron kuutioiden summa on yhtä suuri kuin itse numero. Esimerkiksi 153 on Armstrong-luku, koska

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

Esimerkki: Tarkista Armstrongin 3 numeron lukumäärä

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

Tuotos

 Anna positiivinen kokonaisluku: 371 371 on Armstrongin luku.

Ohjelma toistaa it-silmukan läpi, kunnes originalNum on 0.

Jokaisessa silmukan iteroinnissa lisätään tulokseen orignalNumin viimeisen numeron kuutio.

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

Ja viimeinen numero poistetaan orignalNum.

Kun silmukka päättyy, yksittäisen numeron kuutio summa tallennetaan tulokseen.

Esimerkki: Tarkista Armstrongin numeroiden lukumäärä

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

Tuotos

 Syötä kokonaisluku: 1634 1634 on Armstrongin luku.

Tässä ohjelmassa syötetyn luvun numeroiden määrä lasketaan ensin ja tallennetaan n: ään.

Ja pow()funktio laskee yksittäisten numeroiden voiman whilesilmukan jokaisessa iteroinnissa .

Mielenkiintoisia artikkeleita...