Voorbeeld om alle Armstrong-getallen tussen twee gehele getallen (ingevoerd door de gebruiker) te vinden met behulp van loops en if… else-instructie.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C ++ programmeeronderwerpen:
- C ++ if, if… else en genest if… else
- C ++ voor Loop
Dit programma vraagt de gebruiker om twee gehele getallen in te voeren en toont alle Armstrong-getallen tussen het opgegeven interval.
Als u niet weet hoe u bij het programmeren kunt controleren of een nummer Armstrong is of niet, lijkt dit programma misschien wat ingewikkeld.
Bezoek deze pagina om meer te weten te komen over Armstrong-nummer en hoe u dit kunt controleren in C ++ - programmering.
Voorbeeld: Armstrong-nummer tussen intervallen weergeven
#include using namespace std; int main() ( int num1, num2, i, num, digit, sum; cout <> num1; cout <> num2; cout << "Armstrong numbers between " << num1 << " and " << num2 << " are: " << endl; for(i = num1; i 0; num /= 10) ( digit = num % 10; sum = sum + digit * digit * digit; ) if(sum == i) ( cout << i << endl; ) ) return 0; )
Uitvoer
Voer het eerste nummer in: 100 Voer het tweede nummer in: 400 Armstrong-nummers tussen 100 en 400 zijn: 153370371
In dit programma wordt aangenomen dat de gebruiker altijd eerst een kleiner nummer invoert.
Dit programma zal de bedoelde taak niet uitvoeren als de gebruiker eerst een groter getal invoert.
U kunt de code toevoegen om twee door de gebruiker ingevoerde nummers om te wisselen als de gebruiker eerst een groter nummer invoert om dit programma correct te laten werken.
In dit programma wordt elk getal tussen de intervallen genomen en opgeslagen in variabele num. Vervolgens wordt elk cijfer van het nummer opgehaald in cijfers en in blokjes gesneden (3).
Het resultaat in blokjes wordt opgeteld bij het resultaat in blokjes van de laatste cijfers.
Ten slotte, wanneer elk cijfer wordt doorlopen, wordt de som vergeleken met het oorspronkelijke getal i. Als ze gelijk zijn, is het nummer een Armstrong-nummer.