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

सी++ कोड अपठित अध्यायों की संख्या गिनने के लिए

मान लीजिए कि हमारे पास जोड़े P की एक सरणी है। जहाँ P[i] फॉर्म (l, r) में है, और एक और संख्या k है। मान लें कि हम n अध्यायों वाली एक पुस्तक पढ़ने जा रहे हैं। ताकि पुस्तक का एक पृष्ठ बिल्कुल एक अध्याय का हो और प्रत्येक अध्याय में कम से कम एक पृष्ठ हो। हमने कुछ पेज पढ़े हैं और पहले पेज के रूप में नंबर k के साथ पेज को चिह्नित किया है जो पढ़ा नहीं गया था। हमें उन अध्यायों की संख्या ज्ञात करनी है जिन्हें हमने अभी तक पूरी तरह से नहीं पढ़ा है। P[i] अध्याय पृष्ठ संख्याश्रेणी का प्रतिनिधित्व करता है।

इसलिए, यदि इनपुट P =[[1, 3], [4, 7], [8, 11]] जैसा है; k =4, तो आउटपुट 2 होगा, क्योंकि हमने पहला अध्याय पढ़ लिया है, और दो अध्याय पढ़ने के लिए हैं।

कदम

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

n := size of P
for initialize i := 1, when i <= n, update (increase i by 1), do:
   if k >= P[i - 1, 0] and k <= P[i - 1, 1], then:
      return n - i + 1
return 0

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
int solve(vector<vector<int>> P, int k){
   int n = P.size();
   for (int i = 1; i <= n; i++){
      if (k >= P[i - 1][0] && k <= P[i - 1][1])
         return n - i + 1;
   }
   return 0;
}
int main(){
   vector<vector<int>> P = { { 1, 3 }, { 4, 7 }, { 8, 11 } };
   int k = 4;
   cout << solve(P, k) << endl;
}

इनपुट

{ { 1, 3 }, { 4, 7 }, { 8, 11 } }, 4

आउटपुट

2

  1. C++ में एक आयत में वर्गों की संख्या गिनें

    =B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है। ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं। कुल वर्ग=6+2=8. LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है। सबसे बड़े वर्ग BXB आकार के होते ह

  1. C++ में हेक्साडेसिमल संख्या गिनें

    हमें प्रारंभ और अंत वाली एक श्रेणी दी गई है और कार्य दिए गए श्रेणी में मौजूद हेक्साडेसिमल संख्याओं या वर्णों की गणना करना है। हेक्साडेसिमल अक्षर क्या हैं? कंप्यूटर के संदर्भ में, हेक्साडेसिमल संख्याएँ वे संख्याएँ होती हैं जिनका आधार 16 होता है, जिसका अर्थ है कि द्विआधारी अंक को 16-बिट में दर्शाया ज

  1. सी ++ में एक फैक्टोरियल में अंकों की गणना करें

    हमें एक पूर्णांक मान दिया गया है और कार्य पहले किसी संख्या के भाज्य की गणना करना है और फिर परिणाम में अंकों की कुल संख्या की गणना करना है। फैक्टोरियल नंबर क्या है किसी संख्या के भाज्य की गणना अंकों के मान को 1 से घटाते हुए अंकों को गुणा करके की जाती है। इसे प्रतीक ! अर्थात 0!, 1!, 2!, 3!, 5!,... द्