हमें एक टास्क दिया जाता है जहां हमें उपयोगकर्ता द्वारा दर्ज किए गए नंबर n की जांच करनी होती है, चाहे वह आर्मस्ट्रांग हो या नहीं।
एक आर्मस्ट्रांग संख्या तब होती है जब अंकों की संख्या से सभी अंकों की शक्ति का योग होता है या हम कह सकते हैं कि अंकों का क्रम अंक के समान है।
तो आर्मस्ट्रांग नंबर कैसे पता करें -
. का एक सरल प्रतिनिधित्व नीचे दिया गया है
फॉर्मूला -
wxyz…. = pow(w, n) +pow(x, n) + pow(y, n) + pow(z, n) + …..
एल्गोरिदम
START Step 1-> Declare a function to find the value after power operation on the number int power(int a, int b) Loop while b>0 Assign power =power * a Decrement b by 1 End loop Return power End Step 2-> Declare a function to count the order of a number int count(int n) Declare and set i as 0 Loop while n!=0 Increment i by 1 Divide n/10 and store back in n End loop Return i End Step 3-> Declare a function to check number is prime or not int armstrong(int n) Declare x and call function count(n) and assign the result to x Declare rem = 0 and m=0 set with zero Loop While n Set rem = n %10 Set m = m + power(rem, x) Set n as n/ 10 End Loop Return m; End Step 4-> Declare main int main(int argc, char const *argv[]) Declare and set n = 1634 Call function Armstrong and check if the value is equal Print “it is armstrong number End if Else Print number isn't an armstrong number End STOP
उदाहरण
#include <stdio.h> int power(int a, int b){ int power =1; while(b>0){ power *= a; b--; } return power; } int count(int n){ int i=0; while(n!=0){ i++; n = n/10; } return i; } int armstrong(int n){ int x = count(n); int rem = 0, m=0; while(n){ rem = n %10; m += power(rem, x); n /= 10; } return m; } int main(int argc, char const *argv[]){ int n = 1634; if(n == armstrong(n)){ printf("%d is an armstrong number \n",n); } else printf("%d isn't an armstrong number \n",n); return 0; }
आउटपुट
1634 is an armstrong number