एक पूर्णांक को आर्मस्ट्रांग क्रमांक n कहा जाता है यदि यह प्रत्येक अंक को अलग और घन करके जोड़ दिया जाए तो योग संख्या के समान होगा अर्थात abcd... =a 3 + ख 3 + ग 3 + डी 3 + ...
3 अंकों की एक आर्मस्ट्रांग संख्या के मामले में, प्रत्येक अंक के घनों का योग संख्या के बराबर होता है। उदाहरण के लिए:
153 =1 3 + 5 3 + 3 3 // 153 आर्मस्ट्रांग नंबर है।
Input: Enter two numbers(intervals):999 9999 Output: Armstrong numbers between 999 and 9999 are: 1634 8208 9474
स्पष्टीकरण
1634 = 13+63+33+43 = 1+216+27+64 = 1634
नीचे लागू दृष्टिकोण सरल है। हम दी गई श्रेणी में सभी संख्याओं को पार करते हैं। प्रत्येक संख्या के लिए हम सबसे पहले उसमें अंकों की संख्या गिनते हैं। माना वर्तमान संख्या में अंकों की संख्या n है। उन्हें हम सभी अंकों के घन का योग पाते हैं। अगर योग I के बराबर है, तो हम नंबर प्रिंट करते हैं।
उदाहरण
#include <stdio.h> #include <math.h> int main() { int low = 100; int high = 400; printf("The amstrong numbers between %d and %d is \n",low,high); for (int i = low+1; i < high; ++i) { int x = i; int n = 0; while (x != 0) { x /= 10; ++n; } int pow_sum = 0; x = i; while (x != 0) { int digit = x % 10; pow_sum += pow(digit, n); x /= 10; } if (pow_sum == i) printf("%d ", i); } printf("\n"); return 0; }