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

C++ में जांचें कि क्या संख्या को दो त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है


इस खंड में, हम देखेंगे कि क्या हम एक संख्या को दो त्रिकोणीय संख्याओं के योग के रूप में व्यक्त कर सकते हैं या नहीं। त्रिकोणीय संख्याएं नीचे की तरह होती हैं -

C++ में जांचें कि क्या संख्या को दो त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है

उदाहरण से, हम देख सकते हैं कि 1, 3, 6, 10 कुछ त्रिकोणीय संख्याएं हैं। हमें संख्या N (मान लीजिए 16) को दो त्रिकोणीय संख्याओं (6, 10) के योग के रूप में व्यक्त करने की आवश्यकता है।

दृष्टिकोण बहुत सरल है। हमें N से कम सभी त्रिकोणीय संख्याएं प्राप्त करनी होंगी। इन मानों से एक सेट बनाएं। अब हमें सेट से एक संख्या X लेनी होगी, और जांचना होगा कि क्या N - X सेट में मौजूद है, तो X को दो त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है।

उदाहरण

#include <iostream>
#include <set>
using namespace std;

bool isSumTriangularNum(int n) {
    set<int> s;
    int i = 1;
    while (1) { // n से कम सभी त्रिकोणीय संख्याएं ढूंढें और सेट में संग्रहीत करें
        int x = i * (i + 1) / 2;
        if (x >= n)
            break;
        s.insert(x);
        i++;
    }
    for (auto x : s)
        if (s.find(n - x) != s.end())
            return true;
    return false;
}

int main() {
    int num = 16;
    if(isSumTriangularNum(num)) {
        cout << "Can be represented";
    } else {
        cout << "Cannot be represented";
    }
}

आउटपुट

Can be represented

  1. - C++ में जांचें कि क्या संख्या को क्रमागत संख्याओं के योग के रूप में व्यक्त किया जा सकता है

    यहां हम देखेंगे कि क्या एक संख्या को दो या अधिक क्रमागत संख्याओं के योग के रूप में दर्शाया जा सकता है या नहीं। मान लीजिए संख्या 12 है। इसे 3+4+5 के रूप में दर्शाया जा सकता है। इस समस्या को हल करने का एक सीधा और सबसे आसान तरीका है। यदि कोई संख्या 2 की घात है, तो इसे कुछ क्रमागत संख्याओं के योग के रू

  1. - C++ में जांचें कि क्या संख्या को 2^x + 2^y के रूप में व्यक्त किया जा सकता है

    0। मान लीजिए संख्या 10 है, इसे 2³ + 2¹ के रूप में दर्शाया जा सकता है। 0। दूसरा मामला यह है कि यदि N विषम है, तो इसे कभी भी 2 की घातों के योग के रूप में दर्शाया नहीं जा सकता। हम घात के रूप में 0 का उपयोग नहीं कर सकते, इसलिए हमें विषम संख्याएं नहीं मिल सकतीं। सभी विषम संख्याओं के लिए इसके बाइनरी प्

  1. - C++ प्रोग्राम जांचने के लिए कि क्या कोई संख्या दो अभाज्य संख्याओं के योग के रूप में व्यक्त की जा सकती है

    यह जांचने का एक उदाहरण है कि क्या कोई संख्या दो अभाज्य संख्याओं के योग के रूप में व्यक्त की जा सकती है। उदाहरण #include <iostream> using namespace std; int func(int num) {    int i;    int flag = 1;    for(i = 2; i <= num/2; ++i) {       if(num %