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

C++ में दिए गए समीकरणों को संतुष्ट करने वाले n धनात्मक पूर्णांक ज्ञात कीजिए

इस समस्या में, हमें तीन मान A, B और N दिए गए हैं। हमारा कार्य n धनात्मक पूर्णांक ज्ञात करना है जो दिए गए समीकरणों को संतुष्ट करते हैं।

समस्या का विवरण - हमें दोनों समीकरणों को संतुष्ट करने वाले एन सकारात्मक मूल्यों को खोजने की जरूरत है,

x12 + x22 + … xn2 ≥ A
x1 + x2 + … xn ≤ B

यदि मौजूद हो तो n मान प्रिंट करें, अन्यथा -1 प्रिंट करें।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

N = 4, A = 65, B = 16

आउटपुट

1 1 1 8

स्पष्टीकरण

समीकरण हैं -

12 + 12 + 12 + 82 = 1 + 1 + 1 + 64 = 67 ≥ 65
1 + 1 + 1 + 8 = 11 < 16

समाधान दृष्टिकोण

वर्ग योग को अधिकतम करके समस्या का एक सरल समाधान है। विचार यह है कि वर्ग योग को अधिकतम करने के लिए एक संख्या को प्राथमिक संख्या के रूप में उपयोग किया जाए और दूसरे को 1 के रूप में उपयोग किया जाए। इस प्रकार इसका उपयोग करके हम वर्ग योग को अधिकतम कर सकते हैं और योग की स्थिति को संतुष्ट कर सकते हैं।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void findNintegers(int N, int A, int B) {
   vector<int> numbers;
   for (int i = 0; i < N - 1; i++)
      numbers.push_back(1);
   if (B - (N - 1) <= 0) {
      cout << "-1";
      return;
   }
   numbers.push_back(B - (N - 1));
   int vals = 0;
   for (int i = 0; i < N; i++)
      vals += numbers[i] * numbers[i];
   if (vals < A) {
      cout << "-1";
      return;
   }
   for (int i = 0; i < N; i++)
      cout << numbers[i] << " ";
}
int main(){
   int N = 4, A = 65, B = 17;
   cout<<N<<" positive integers that satisfy the given equations are ";
   findNintegers(N, A, B);
   return 0;
}

आउटपुट

4 positive integers that satisfy the given equations are 1 1 1 14

  1. C++ . में दिए गए स्ट्रिंग में "1(0+)1" के सभी पैटर्न खोजें

    मान लीजिए कि एक स्ट्रिंग में 1(0+)1 जैसे पैटर्न हैं। जहां (0+) 1s की गैर-रिक्त लगातार घटनाओं को इंगित करता है। हमें सभी पैटर्न खोजने होंगे। पैटर्न ओवरलैप कर सकते हैं। स्ट्रिंग जरूरी नहीं कि एक बाइनरी स्ट्रिंग हो। यह केवल अंक और लोअरकेस वर्ण धारण कर सकता है। मान लीजिए कि स्ट्रिंग 1101001 की तरह है, त

  1. ज्ञात कीजिए कि C++ में दिए गए अभाज्य से nCr विभाज्य है या नहीं

    मान लीजिए कि तीन चर N, R और P हैं। N और R का उपयोग N प्राप्त करने के लिए किया जाता है सीआर और P एक अभाज्य है। हमें यह पता लगाना है कि क्या N सीआर P से विभाज्य है। मान लीजिए हमारे पास कुछ संख्याएँ N =7, R =2 और P =3 हैं, तो 7 सी2 =21, यह 3 से विभाज्य है, इसलिए आउटपुट सत्य होगा। हम जानते हैं कि N सीआ

  1. किसी दिए गए बिंदु को कवर करने वाले सबसे उपयुक्त आयत को खोजने के लिए C++ प्रोग्राम

    इस लेख में, हम किसी दिए गए बिंदु को कवर करने वाले सबसे उपयुक्त आयत को खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे। इस समस्या में, हमें एक बिंदु (x, y) के निर्देशांक और लंबाई/चौड़ाई का अनुपात =l/b (मान लीजिए) दिया जाता है। हमें एक आयत के निर्देशांक ज्ञात करने हैं जिसमें दिए गए बिंदु हैं और जिनकी विमाए