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

C++ में पहुंचना बिंदु

मान लीजिए कि हमारे पास एक प्रारंभिक बिंदु (sx, sy), और लक्ष्य बिंदु (tx, ty) है, हमें यह जांचना होगा कि चालों का एक क्रम प्रारंभ बिंदु से अंत बिंदु तक मौजूद है या नहीं। यहां चाल में एक बिंदु (x, y) लेना और इसे या तो (x, x+y) या (x+y, y) में बदलना शामिल है।

तो अगर इनपुट (1, 1) और (4,5) हैं, तो उत्तर सही होगा, ऐसा इसलिए है क्योंकि (1,1) से (2,1), फिर (3,1), फिर (4 ,1), फिर (4,5)।

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

  • जबकि tx> sx और ty> sy, करते हैं −
    • यदि tx> ty, तो −
      • tx :=tx mod ty
    • अन्यथा
      • ty:=ty mod tx
  • वापसी (सच है जब sx tx और sy <=ty और (ty - sy) mod tx के समान है 0) या (sy ty और x> =sx और (tx - sx) mod ty के समान है है 0)

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   bool reachingPoints(int sx, int sy, int tx, int ty) {
      while(tx > sx && ty > sy){
         if(tx > ty){
            tx %= ty;
         }else ty %= tx;
      }
      return (sx == tx && sy <= ty && (ty - sy) % tx == 0) || (sy == ty && tx >= sx && (tx - sx) % ty == 0);
   }
};
main(){
   Solution ob;
   cout << (ob.reachingPoints(1,1,4,5));
}

इनपुट

1
1
4
5

आउटपुट

1

  1. C++ में कुल n अंक के साथ m कोलिनियर वाले त्रिभुजों की संख्या

    हमें दो चर n और m दिए गए हैं जो एक 2D तल पर बिंदुओं की संख्या को निरूपित करते हैं। n बिंदुओं में से, m बिंदु संरेख हैं। लक्ष्य इन n बिंदुओं का उपयोग करके बनाए जा सकने वाले त्रिभुजों की संख्या ज्ञात करना है। समरेख बिंदु - एक ही रेखा पर स्थित बिंदु संरेख कहलाते हैं। बिंदु A और B संरेख हैं। दिया गय

  1. सी ++ में एक लाइन पर मैक्स पॉइंट्स

    मान लीजिए कि हमारे पास 2D प्लेन है। हमें एक ही सीधी रेखा पर रहने वाले बिंदुओं की अधिकतम संख्या ज्ञात करनी है। तो अगर अंक इस तरह हैं - फिर 4 अंक होते हैं इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - n :=अंकों की संख्या, यदि n <3 है, तो n लौटाएं उत्तर :=2 मैं के लिए 1 से n - 1 की सीमा

  1. C++ में मध्य बिंदुओं का उपयोग करके आयत के कोनों का पता लगाएं

    मान लीजिए हमारे पास एक आयत ABCD है, लेकिन हमारे पास केवल मध्य बिंदुओं P और Q के निर्देशांक और आयत L की लंबाई है। हमारा कार्य P और Q के निर्देशांकों और भुजा L की लंबाई का उपयोग करके A, B, C और D के निर्देशांक ज्ञात करना है। उदाहरण के लिए, यदि P (1, 0) है, और Q (1, 2) है , और L 2 है, तो A, B, C, D