Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C प्रोग्राम: आर्मस्ट्रांग संख्या (Armstrong Number) की जांच कैसे करें

आर्मस्ट्रांग संख्या क्या है?

एक आर्मस्ट्रांग संख्या (जिसे 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
  1. - पायथन में जांचें कि दी गई संख्या ओर संख्या (Ore Number) है या नहीं

    मान लीजिए हमारे पास एक संख्या n है। हमें जांचना है कि n एक ओर संख्या (Ore number) है या नहीं। जैसा कि हम जानते हैं, एक ओर संख्या वह संख्या होती है जिसके भाजकों का हार्मोनिक माध्य एक पूर्णांक होता है। उदाहरण के लिए, यदि इनपुट 28 है, तो आउटपुट True होगा क्योंकि 28 के छह भाजक हैं: [1, 2, 4, 7, 14, 28]

  1. - पायथन में अकिलीज़ नंबर की जांच

    समस्या विवरण एक संख्या n दी गई है, जांचें कि क्या यह अकिलीज़ नंबर है। अकिलीज़ नंबर = शक्तिशाली संख्या (हर अभाज्य गुणक p के लिए, p² भी विभाजित करता है) लेकिन पूर्ण घात नहीं (a^b रूप में नहीं)। उदाहरण इनपुट: 108 आउटपुट: True 108 = 2² × 3³ — दोनों अभाज्य गुणकों के वर्ग विभाजित करते हैं, लेकिन 108 पूर्

  1. - Python का उपयोग करके किसी संख्या की जांच कैसे करें कि वह अभाज्य (prime) है या नहीं?

    इस समस्या के समाधान में उपयोग किया गया सिद्धांत यह है कि दी गई संख्या को 3 से उसके वर्गमूल तक की सभी संख्याओं से विभाजित किया जाए। किसी संख्या का वर्गमूल सबसे बड़ा संभावित गुणनखंड (factor) होता है, जिसके बाद यह जांचने की आवश्यकता नहीं होती कि वह किसी अन्य संख्या से विभाज्य है या नहीं, ताकि यह तय किय