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

C प्रोग्राम: जांचें कि संख्या अपने किसी अंक से विभाज्य है या नहीं

समस्या विवरण

एक संख्या n दी गई है, जांचें कि क्या इसका कोई अंक (0 को छोड़कर) संख्या को पूरी तरह से विभाजित करता है।

उदाहरण

इनपुटआउटपुटव्याख्या
53142हाँ1, 2, 3 से विभाज्य
223नहीं2 या 3 से विभाज्य नहीं
128625हाँ5 से विभाज्य
101हाँ1 से विभाज्य (0 को अनदेखा करें)

एल्गोरिदम

  1. मूल संख्या को temp में संग्रहीत करें
  2. जब तक n > 0:
    • अंतिम अंक प्राप्त करें: digit = n % 10
    • यदि digit != 0 और temp % digit == 0 → हाँ लौटाएं
    • n = n / 10 (अंतिम अंक हटाएं)
  3. लूप समाप्त → नहीं लौटाएं

C प्रोग्राम

#include <stdio.h>
#include <stdbool.h>

bool divisible_by_digit(long long n) {
    long long temp = n;
    
    while (n > 0) {
        int digit = n % 10;
        if (digit != 0 && temp % digit == 0) {
            return true;
        }
        n /= 10;
    }
    return false;
}

int main() {
    long long n;
    printf("संख्या दर्ज करें: ");
    scanf("%lld", &n);
    
    if (divisible_by_digit(n))
        printf("हाँ\n");
    else
        printf("नहीं\n");
    
    return 0;
}

नमूना आउटपुट

संख्या दर्ज करें: 654123
हाँ

किनारे के मामले

  • शून्य अंक: 0 से विभाजन अपरिभाषित है, इसे छोड़ दें
  • ऋणात्मक संख्या: निरपेक्ष मान लें या अस्वीकार करें
  • एकल अंक: हमेशा हाँ (स्वयं से विभाज्य)
  • बड़ी संख्या: long long का उपयोग करें (19 अंक तक)

विस्तार: सभी विभाजक अंक खोजें

void print_dividing_digits(long long n) {
    long long temp = n;
    bool found = false;
    
    printf("%lld को विभाजित करने वाले अंक: ", n);
    while (n > 0) {
        int d = n % 10;
        if (d != 0 && temp % d == 0) {
            printf("%d ", d);
            found = true;
        }
        n /= 10;
    }
    if (!found) printf("कोई नहीं");
    printf("\n");
}

जटिलता

  • समय: O(log₁₀ n) - अंकों की संख्या
  • स्थान: O(1)
  1. C प्रोग्राम: प्लस परफेक्ट नंबर (आर्मस्ट्रांग संख्या) जांचें C प्रोग्राम: प्लस परफेक्ट नंबर (आर्मस्ट्रांग संख्या) जांचें

    प्लस परफेक्ट नंबर (आर्मस्ट्रांग संख्या) एक संख्या प्लस परफेक्ट (आर्मस्ट्रांग) है यदि इसके अंकों के nवें घात का योग (n = अंकों की संख्या) संख्या के बराबर हो। सूत्र n अंकों की संख्या के लिए: Σ(अंकⁿ) = संख्या उदाहरण संख्याअंकगणनायोगआर्मस्ट्रांग? 1631,6,31³+6³+3³ = 1+216+27244नहीं 3713,7,13³+7³+1³

  1. पायथन प्रोग्राम: जांचें कि क्या ऐरे में सभी डिजिट्स का उपयोग करके 3 से विभाज्य संख्या बनाना संभव है पायथन प्रोग्राम: जांचें कि क्या ऐरे में सभी डिजिट्स का उपयोग करके 3 से विभाज्य संख्या बनाना संभव है

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इंटीजर्स के ऐरे इनपुट दिए जाने पर, हमें यह ढूंढना होगा कि क्या इन नंबर्स में उपलब्ध सभी डिजिट्स का उपयोग करके एक इंटीजर बनाना संभव है जो 3 से विभाज्य हो। यहां हम एक फंक्शन जनरेट करेंग

  1. - पायथन प्रोग्राम: जांचें कि क्या किसी संख्या के सभी अंक उसे विभाजित करते हैं

    इस लेख में, हम दी गई समस्या के समाधान और दृष्टिकोण के बारे में जानेंगे।समस्या कथन - एक संख्या n दी गई है, जांचें कि क्या n के सभी अंक उसे विभाजित करते हैं या नहीं।यहां हम जांचेंगे कि दी गई संख्या में कोई 0 तो नहीं है क्योंकि इससे शून्य से विभाजन अपवाद उत्पन्न होगा और इसलिए हमें उत्तर में नहीं वापस क