C Programa rodyti Armstrongo skaičių tarp dviejų intervalų

Šiame pavyzdyje sužinosite, kaip surasti visus Armstrongo skaičius tarp dviejų sveikojo skaičiaus, kuriuos įvedė vartotojas.

Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:

  • C jei … dar pareiškimas
  • C kilpai

Teigiamas sveikasis skaičius vadinamas Armstrongo skaičiumi (n eilės), jei

 abcd… = an + bn + cn + dn + 

Jei „Armstrong“ yra 3 skaitmenys, kiekvieno skaitmens kubelių suma lygi pačiam skaičiui. Pavyzdžiui, 153 yra Armstrongo skaičius, nes

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

Prieš išbandydami šią programą, sužinokite, kaip patikrinti, ar sveikasis skaičius yra „Armstrong“ skaičius, ar ne.

Armstrongas Skaičiai tarp dviejų sveikųjų skaičių

 #include #include int main() ( int low, high, number, originalNumber, rem, count = 0; double result = 0.0; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Armstrong numbers between %d and %d are: ", low, high); // iterate number from (low + 1) to (high - 1) // In each iteration, check if number is Armstrong for (number = low + 1; number < high; ++number) ( originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++count; ) originalNumber = number; // result contains sum of nth power of individual digits while (originalNumber != 0) ( rem = originalNumber % 10; result += pow(rem, count); originalNumber /= 10; ) // check if number is equal to the sum of nth power of individual digits if ((int)result == number) ( printf("%d ", number); ) // resetting the values count = 0; result = 0; ) return 0; )

Rezultatas

 Įveskite du skaičius (intervalus): 200 2000 „Armstrong“ skaičiai tarp 200 ir 2000 yra: 370 371 407 1634 

Programoje išorinė kilpa kartojama nuo (žemas + 1) iki (aukštas - 1) . Kiekvienoje iteracijoje tikrinama, ar skaičius yra „Armstrong“ skaičius, ar ne.

Išorinės kilpos viduje pirmiausia apskaičiuojamas sveiko skaičiaus skaitmenų skaičius ir jis saugomas count. Atskirų skaitmenų galios suma yra saugoma rezultato kintamajame.

Jei skaičius yra lygus result, skaičius yra Armstrongo skaičius.

Pastaba: kiekvienoje išorinės kilpos iteracijoje turite iš naujo nustatyti skaičių ir rezultatą 0.

Įdomios straipsniai...