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

C++ में वह न्यूनतम मान जो एक संख्या को विभाजित करे और दूसरी से विभाज्य हो


समस्या कथन

दो पूर्णांक p और q दिए गए हैं, कार्य न्यूनतम संभव संख्या x ढूंढना है जैसे कि q % x = 0 और x % p = 0। यदि शर्तें किसी संख्या के लिए सही नहीं हैं, तो -1 प्रिंट करें।

उदाहरण

यदि p = 3 और q = 66 तो उत्तर 3 है क्योंकि:
66 % 3 = 0
3 % 3 = 0

एल्गोरिदम

  • यदि कोई संख्या x दी गई शर्त को पूरा करती है, तो यह स्पष्ट है कि q, p से विभाज्य होगा अर्थात q % p = 0 क्योंकि x, p का गुणक है और q, x का गुणक है
  • इसलिए x का न्यूनतम संभव मान p और q का GCD होगा और जब q, p से विभाज्य नहीं है तो कोई भी संख्या दी गई शर्त को पूरा नहीं करेगी

उदाहरण

#include 
using namespace std;

int getMinValue(int p, int q) {
    if (q % p == 0) {
        return __gcd(p, q);
    }
    return -1;
}

int main() {
    int p = 3;
    int q = 66;
    cout << "Minimum value = " << getMinValue(p, q) << endl;
    return 0;
}

जब आप उपरोक्त प्रोग्राम को कंपाइल और 실행 करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है -

आउटपुट

Minimum value = 3

  1. - सरणी में ऐसे जोड़े जिनमें एक की आवृत्ति दूसरे के मान के बराबर या अधिक हो - C++

    समस्या विवरण हमें धनात्मक पूर्णांकों का एक ऐरे दिया गया है। लक्ष्य उन जोड़ों (A, B) की गणना करना है जहाँ: A की आवृत्ति कम से कम B है B की आवृत्ति कम से कम A है उदाहरण इनपुट: arr[] = {3, 3, 3, 5, 5, 6, 6} आउटपुट: 1 व्याख्या: केवल (3,3) वैध है। इनपुट: arr[] = {3, 3, 3, 3, 3, 5, 5, 5, 6, 6} आउटपुट:

  1. - ऐसे क्रमित जोड़े (i,j) गिनें जिनका योग A और B दोनों से विभाज्य हो C++ में

    हमें चर N, M, A और B दिए गए हैं। लक्ष्य धनात्मक संख्याओं के क्रमित जोड़े (i, j) ढूंढना है जैसे कि उनका योग A और B दोनों से विभाज्य हो। और 1<=i<=N और 1<=j<=M। हम i और j के लिए दो लूप का उपयोग करके पार करेंगे। यदि योग (i+j)%A==0 && (i+j)%B==0। काउंट बढ़ाएं। उदाहरण से समझते हैं इनपुट N = 5, M = 10, A =

  1. C++ में दिए गए नंबर k से विभाज्य लिंक्ड लिस्ट के अधिकतम और न्यूनतम एलिमेंट C++ में दिए गए नंबर k से विभाज्य लिंक्ड लिस्ट के अधिकतम और न्यूनतम एलिमेंट

    लिंक्ड लिस्ट एक रैखिक डेटा संरचना है जिसमें एलिमेंट्स पॉइंटर्स के माध्यम से जुड़े होते हैं। लिंक्ड लिस्ट के प्रत्येक एलिमेंट या नोड में एक डेटा भाग और लिंक होता है, या हम कह सकते हैं कि क्रम में अगले एलिमेंट का पॉइंटर होता है। एलिमेंट्स मेमोरी में नॉन-कंटीगुअस स्थान ले सकते हैं। हमें एक सिंगली लिं