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

C प्रोग्राम: स्ट्रॉन्ग नंबर की जांच

स्ट्रॉन्ग नंबर क्या है?

एक संख्या स्ट्रॉन्ग होती है यदि उसके अंकों के फैक्टोरियल का योग संख्या के बराबर हो।

उदाहरण

  • 145: 1! + 4! + 5! = 1 + 24 + 120 = 145 ✓ (स्ट्रॉन्ग)
  • 123: 1! + 2! + 3! = 1 + 2 + 6 = 9 ≠ 123 ✗ (नहीं)

लॉजिक

while(n > 0) {
    rem = n % 10;        // अंतिम अंक
    fact = 1;
    for(i = 1; i <= rem; i++)
        fact *= i;       // अंक का फैक्टोरियल
    sum += fact;
    n = n / 10;          // अंतिम अंक हटाएं
}
if (sum == original) -> स्ट्रॉन्ग

C प्रोग्राम

#include <stdio.h>

int main() {
    int n, i, fact, rem, sum = 0, temp;
    printf("Enter a number: ");
    scanf("%d", &n);
    temp = n;
    while(n > 0) {
        i = 1; fact = 1;
        rem = n % 10;
        while(i <= rem) {
            fact = fact * i;
            i++;
        }
        sum += fact;
        n = n / 10;
    }
    if(sum == temp)
        printf("%d is a strong number\n", temp);
    else
        printf("%d is not a strong number\n", temp);
    return 0;
}

आउटपुट

Run 1:
Enter a number: 145
145 is a strong number

Run 2:
Enter a number: 25
25 is not a strong number

अन्य स्ट्रॉन्ग नंबर्स

ज्ञात स्ट्रॉन्ग नंबर्स: 1, 2, 145, 40585 (बेस 10 में केवल ये चार)।

ऑप्टिमाइजेशन

फैक्टोरियल्स को प्री-कंप्यूट करें (0! से 9! तक) क्योंकि अंक केवल 0-9 हो सकते हैं:

int fact[10] = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880};
// फिर लूप में: sum += fact[rem];
  1. - पायथन प्रोग्राम: जांचें कि कोई नंबर स्ट्रांग नंबर है या नहीं

    स्ट्रांग नंबर क्या है? एक स्ट्रांग नंबर वह है जो अपने अंकों के फैक्टोरियल के योग के बराबर होता है। उदाहरण 145 Factorial of 1 = 1 Factorial of 4 = 24 Factorial of 5 = 120 Sum = 1 + 24 + 120 = 145 निम्नलिखित प्रोग्राम यह पता लगाने के लिए है कि इनपुट नंबर स्ट्रांग नंबर है या नहीं। यदि नंबर स्ट्रांग न

  1. - पायथन में दी गई संख्या में बिट 1 की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें उस संख्या के बाइनरी प्रतिनिधित्व में बिट 1 की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट 12 है, तो आउटपुट 2 होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: count := 0 जब तक n शून्येतर है, करें: count := count + (n AND 1) n := n/2 का फ्लोर count व

  1. - पायथन में दी गई संख्या के सभी अंकों का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या num है, हमें इसके अंकों का योग ढूंढना है। हमें इसे स्ट्रिंग्स का उपयोग किए बिना हल करना है। उदाहरण के लिए, यदि इनपुट है num = 512, तो आउटपुट होगा 8, क्योंकि 8 = 5 + 1 + 2। हल करने के चरण sum := 0 जब तक num != 0: sum := sum + (num % 10) num := num // 10 sum लौटाएं।