हमें उपयोगकर्ता द्वारा दर्ज संख्या n की जांच करनी है कि यह आर्मस्ट्रांग संख्या है या नहीं।
एक आर्मस्ट्रांग संख्या वह है जिसके अंकों को अंकों की संख्या (क्रम) की घात तक बढ़ाकर उनका योग करने पर मूल संख्या प्राप्त होती है।
सूत्र: wxyz... = wⁿ + xⁿ + yⁿ + zⁿ + ...
एल्गोरिदम
START
फंक्शन power(a, b): a^b की गणना करें
फंक्शन count(n): n में अंकों की संख्या गिनें
फंक्शन armstrong(n):
x = count(n)
rem = 0, m = 0
जब n != 0:
rem = n % 10
m = m + power(rem, x)
n = n / 10
m लौटाएं
मुख्य फंक्शन:
n = 1634
यदि n == armstrong(n) तो "it is armstrong number" प्रिंट करें अन्यथा "isn't an armstrong number"
STOP
C कोड उदाहरण
#include <stdio.h>
int power(int a, int b) {
int p = 1;
while(b > 0) { p *= a; b--; }
return p;
}
int count(int n) {
int i = 0;
while(n != 0) { i++; 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 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