आर्मस्ट्रांग संख्या क्या है?
एक आर्मस्ट्रांग संख्या (जिसे narcissistic number भी कहा जाता है) वह संख्या है जो अपने अंकों के घनों (या अंकों की संख्या की घात) के योग के बराबर होती है।
3 अंकों की संख्या के लिए: abc = a³ + b³ + c³
n अंकों की संख्या के लिए: अंक₁ⁿ + अंक₂ⁿ + ... + अंकₙⁿ
उदाहरण
- 153: 1³ + 5³ + 3³ = 1 + 125 + 27 = 153 ✓
- 371: 3³ + 7³ + 1³ = 27 + 343 + 1 = 371 ✓
- 1634: 1⁴ + 6⁴ + 3⁴ + 4⁴ = 1 + 1296 + 81 + 256 = 1634 ✓
- 53: 5³ + 3³ = 125 + 27 = 152 ≠ 53 ✗
प्रोग्राम: 3 अंकों की संख्या के लिए जांच
#include <stdio.h>
int main() {
int number, remainder, sum = 0, temp;
printf("संख्या दर्ज करें: ");
scanf("%d", &number);
temp = number;
while (number > 0) {
remainder = number % 10; // अंतिम अंक प्राप्त करें
sum += remainder * remainder * remainder; // घन जोड़ें
number /= 10; // अंतिम अंक हटाएं
}
if (temp == sum)
printf("%d एक आर्मस्ट्रांग संख्या है।\n", temp);
else
printf("%d आर्मस्ट्रांग संख्या नहीं है।\n", temp);
return 0;
}
आउटपुट
संख्या दर्ज करें: 371
371 एक आर्मस्ट्रांग संख्या है।
जांच: 371 = 3³ + 7³ + 1³ = 27 + 343 + 1 = 371
संख्या दर्ज करें: 53
53 आर्मस्ट्रांग संख्या नहीं है।
जांच: 53 = 5³ + 3³ = 125 + 27 = 152 ≠ 53
सामान्यीकृत संस्करण (किसी भी अंक लंबाई के लिए)
#include <stdio.h>
#include <math.h>
int countDigits(int n) {
int count = 0;
while (n != 0) {
n /= 10;
count++;
}
return count;
}
int isArmstrong(int n) {
int original = n;
int digits = countDigits(n);
int sum = 0;
while (n > 0) {
int digit = n % 10;
sum += pow(digit, digits);
n /= 10;
}
return sum == original;
}
int main() {
int num;
printf("संख्या दर्ज करें: ");
scanf("%d", &num);
if (isArmstrong(num))
printf("%d आर्मस्ट्रांग संख्या है।\n", num);
else
printf("%d आर्मस्ट्रांग संख्या नहीं है।\n", num);
return 0;
}
ज्ञात आर्मस्ट्रांग संख्याएं (आधार 10 में)
- 1 अंक: 0-9 (सभी)
- 3 अंक: 153, 370, 371, 407
- 4 अंक: 1634, 8208, 9474
- 5 अंक: 54748, 92727, 93084
- 6 अंक: 548834