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

ऐसे जोड़े (a, b) गिनें जिनके वर्गों का योग N हो (a² + b² = N) C++ में


हमें एक संख्या N दी गई है। लक्ष्य धनात्मक संख्याओं के क्रमित जोड़े ढूंढना है जैसे कि उनके वर्गों का योग N हो।

हम इसे समीकरण a² + b² = N के समाधान ढूंढकर करेंगे। जहां a, N के वर्गमूल से अधिक नहीं है और b की गणना (N-a²) के वर्गमूल के रूप में की जा सकती है।

उदाहरण से समझते हैं

इनपुट

N=100

आउटपुट

(a,b) के जोड़े की संख्या जहां a²+b²=N: 2

व्याख्या

जोड़े होंगे (6,8) और (8,6)। 6²+8²=36+64=100

इनपुट

N=11

आउटपुट

(a,b) के जोड़े की संख्या जहां a²+b²=N: 0

व्याख्या

ऐसे कोई जोड़े संभव नहीं हैं।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम पूर्णांक N लेते हैं।

  • फ़ंक्शन squareSum(int n) n लेता है और वर्गों का योग n होने वाले क्रमित जोड़े की संख्या लौटाता है।

  • प्रारंभिक चर count को 0 से आरंभ करें जोड़ों के लिए।

  • a ढूंढने के लिए फॉर लूप का उपयोग करके पार करें।

  • a=1 से a<=sqrt(n) तक शुरू करें जो n का वर्गमूल है।

  • b के वर्ग की गणना n-pow(a,2) के रूप में करें।

  • b की गणना sqrt(bsquare) के रूप में करें।

  • यदि pow(b,2)==bsquare। काउंट को 1 से बढ़ाएं।

  • सभी लूप के अंत में काउंट में ऐसे जोड़ों की कुल संख्या होगी।

  • काउंट को परिणाम के रूप में लौटाएं।

उदाहरण

#include <bits/stdc++.h> #include <math.h> using namespace std; int squareSum(int n){    int count = 0;    for (int a = 1; a <= sqrt(n); a++){       int bsquare=n - (pow(a,2));       int b = sqrt(bsquare);       if(pow(b,2)==bsquare){          count++; cout<<a;       }    }    return count; } int main(){    int N =5;    cout <<"(a,b) के जोड़े की संख्या जहां a²+b²=N: "<<squareSum(N);    return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

(a,b) के जोड़े की संख्या जहां a²+b²=N: 122

  1. - C++ में बाइनरी ट्री में उन जोड़ों को गिनना जिनका योग दिए गए मान x के बराबर है

    हमें एक पूर्णांक मान और एक वेरिएबल x दिया गया है और कार्य बाइनरी ट्री बनाना है और उन जोड़ों को ढूंढना है जिनका योग दिए गए मान x के बराबर है। उदाहरण के लिए इनपुट int x = 5, मानों को इनपुट करने के बाद जो ट्री बनेगा वह नीचे दिया गया है: आउटपुट Count of pairs in a binary tree whose sum is equal to a gi

  1. C++ में उन नोड्स को गिनना जिनका योग X के साथ फाइबोनैचि संख्या है C++ में उन नोड्स को गिनना जिनका योग X के साथ फाइबोनैचि संख्या है

    नोड्स के वजन वाली एक बाइनरी ट्री दी गई है। लक्ष्य उन नोड्स की संख्या ढूंढना है जिनके वजन ऐसे हैं कि संख्या एक फाइबोनैचि संख्या है। फाइबोनैचि श्रृंखला में संख्याएं हैं: 0, 1, 1, 2, 3, 5, 8, 13... nth संख्या (n-1)th और (n-2)th का योग है। यदि वजन 13 है तो यह एक फाइबोनैचि संख्या है इसलिए नोड गिना जाएगा।

  1. दो BSTs से योग x वाले नोड जोड़ों की गणना - C++ दो BSTs से योग x वाले नोड जोड़ों की गणना - C++

    समस्या विवरण हमें दो बाइनरी सर्च ट्री (BST) और एक मान x दिया गया है। लक्ष्य उन नोड जोड़ों की गणना करना है जहाँ एक नोड पहले BST से और दूसरा दूसरे BST से हो, और उनके डेटा का योग x के बराबर हो। उदाहरण आउटपुट: 1 (जोड़ी: 8+6=14) आउटपुट: 2 (जोड़ियाँ: 5+15=20, 4+16=20) दृष्टिकोण पहले BST को इनऑर्डर (छोटे