Programma C per visualizzare il numero Armstrong tra due intervalli

In questo esempio, imparerai a trovare tutti i numeri Armstrong tra due numeri interi inseriti dall'utente.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione in C:

  • C if … else Istruzione
  • C per Loop

Un numero intero positivo è chiamato numero Armstrong (di ordine n) se

 abcd… = an + bn + cn + dn + 

Nel caso di un numero Armstrong di 3 cifre, la somma dei cubi di ciascuna cifra è uguale al numero stesso. Ad esempio, 153 è un numero Armstrong perché

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

Prima di provare questo programma, scopri come controllare se un intero è un numero Armstrong o meno.

Numeri Armstrong tra due interi

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

Produzione

 Immettere due numeri (intervalli): 200 2000 I numeri Armstrong compresi tra 200 e 2000 sono: 370 371 407 1634 

Nel programma, il ciclo esterno viene iterato da (basso + 1) a (alto - 1) . In ogni iterazione, viene verificato se il numero è un numero Armstrong o meno.

All'interno del ciclo esterno, il numero di cifre di un intero viene calcolato per primo e memorizzato in count. Inoltre, la somma della potenza delle singole cifre viene memorizzata nella variabile risultato.

Se il numero è uguale a result, il numero è un numero Armstrong.

Nota: è necessario reimpostare il conteggio e il risultato su 0 in ogni iterazione del ciclo esterno.

Articoli interessanti...