Πρόγραμμα C για εμφάνιση αριθμού Armstrong μεταξύ δύο διαστημάτων

Πίνακας περιεχομένων

Σε αυτό το παράδειγμα, θα μάθετε να βρείτε όλους τους αριθμούς Armstrong μεταξύ δύο ακέραιων αριθμών που εισάγει ο χρήστης.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:

  • C αν… αλλιώς Δήλωση
  • C για βρόχο

Ένας θετικός ακέραιος αριθμός ονομάζεται αριθμός Armstrong (της τάξης n) εάν

 abcd… = an + bn + cn + dn + 

Στην περίπτωση ενός αριθμού Armstrong 3 ψηφίων, το άθροισμα των κύβων κάθε ψηφίου είναι ίσο με τον ίδιο τον αριθμό. Για παράδειγμα, το 153 είναι ένας αριθμός Armstrong επειδή

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

Πριν δοκιμάσετε αυτό το πρόγραμμα, μάθετε πώς να ελέγξετε αν ένας ακέραιος αριθμός είναι αριθμός Armstrong ή όχι.

Armstrong αριθμοί μεταξύ δύο ακεραίων

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

Παραγωγή

 Εισαγάγετε δύο αριθμούς (διαστήματα): 200 2000 Οι αριθμοί Armstrong μεταξύ 200 και 2000 είναι: 370 371 407 1634 

Στο πρόγραμμα, ο εξωτερικός βρόχος επαναλαμβάνεται από (χαμηλή + 1) έως (υψηλή - 1) . Σε κάθε επανάληψη, ελέγχεται αν ο αριθμός είναι αριθμός Armstrong ή όχι.

Μέσα στον εξωτερικό βρόχο, ο αριθμός των ψηφίων ενός ακέραιου υπολογίζεται πρώτα και αποθηκεύεται σε count. Και, το άθροισμα της ισχύος των μεμονωμένων ψηφίων αποθηκεύεται στη μεταβλητή αποτελέσματος.

Εάν ο αριθμός είναι ίσος με result, ο αριθμός είναι αριθμός Armstrong.

Σημείωση: Πρέπει να επαναφέρετε το πλήθος και να καταλήξετε στο 0 σε κάθε επανάληψη του εξωτερικού βρόχου.

ενδιαφέροντα άρθρα...