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

पुनर्नियुक्ति की जांच के लिए C++ कोड किया जा सकता है ताकि तत्वों का योग अधिकतम x . हो

मान लीजिए कि हमारे पास आकार n के दो सरणियाँ A और B हैं, और दूसरी संख्या x है। हमें यह जांचना होगा कि क्या हम B में तत्वों को पुनर्व्यवस्थित कर सकते हैं, ताकि A[i] + B[1] <=x, सभी i के लिए 0 से n-1 तक।

इसलिए, यदि इनपुट ए =[1, 2, 3] जैसा है; बी =[1, 1, 2]; x =4, तो आउटपुट सही होगा, क्योंकि यदि B को [1, 2, 1] की तरह व्यवस्थित किया जाता है, तो योग मान 1 + 1 <=4, 2 + 2 <=4, और 3 + 1 <=4 होगा। ।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

n := size of A
ans := 1
sum := 0
for initialize i := 0, when i < n, update (increase i by 1), do:
   sum := A[i] + B[n - i - 1]
   if sum > x, then:
      ans := 0
if ans is non-zero, then:
   return true
Otherwise
   return false

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
bool solve(vector<int> A, vector<int> B, int x){
   int n = A.size();
   int ans = 1;
   int sum = 0;
   for (int i = 0; i < n; ++i){
      sum = A[i] + B[n - i - 1];
      if (sum > x)
      ans = 0;
   }
   if (ans)
      return true;
   else
      return false;
}
int main(){
   vector<int> A = { 1, 2, 3 };
   vector<int> B = { 1, 1, 2 };
   int x = 4;
   cout << solve(A, B, x) << endl;
}

इनपुट

{ 1, 2, 3 }, { 1, 1, 2 }, 4

आउटपुट

1

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

    मान लीजिए हमारे पास एक नंबर है। हमें इसे दो प्रचुर संख्या के योग के रूप में व्यक्त करना है, यदि हाँ, तो संख्याओं को प्रिंट करें, अन्यथा -1 को प्रिंट करें। एक संख्या को प्रचुर संख्या कहा जाता है, संख्या के सभी उचित भाजक का योग होता है, जिसे योग (एन) द्वारा दर्शाया जाता है, संख्या के मूल्य से अधिक होत

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

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

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

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