C program za prikaz Armstrongova broja između dva intervala

U ovom ćete primjeru naučiti pronaći sve Armstrongove brojeve između dviju cijelih brojeva koje je korisnik unio.

Da biste razumjeli ovaj primjer, trebali biste imati znanje sljedećih C programskih tema:

  • C if … else Izjava
  • C za Loop

Pozitivni cijeli broj naziva se Armstrongov broj (reda n) ako

 abcd… = an + bn + cn + dn + 

U slučaju Armstrongova broja od 3 znamenke, zbroj kocki svake znamenke jednak je samom broju. Na primjer, 153 je Armstrongov broj jer

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

Prije nego što isprobate ovaj program, naučite kako provjeriti je li cijeli broj Armstrongov broj ili nije.

Armstrong brojevi između dva cijela broja

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

Izlaz

 Unesite dva broja (intervale): 200 2000 Armstrongova broja između 200 i 2000 su: 370 371 407 1634 

U programu se vanjska petlja ponavlja od (niska + 1) do (visoka - 1) . U svakoj se iteraciji provjerava je li broj Armstrongov broj ili nije.

Unutar vanjske petlje prvo se izračuna broj znamenki cijelog broja i pohrani u count. Zbir snage pojedinih znamenki pohranjen je u varijablu rezultata.

Ako je broj jednak result, broj je Armstrongov broj.

Napomena: Morate resetirati broj i rezultat na 0 u svakoj iteraciji vanjske petlje.

Zanimljivi članci...