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

C++ में शून्य से संख्या रेखा में X तक पहुँचने के लिए छलांगों की संख्या ज्ञात कीजिए

मान लीजिए कि हमारे पास एक पूर्णांक X है। हमें 0 से X तक पहुँचने के लिए आवश्यक न्यूनतम छलांगों की संख्या ज्ञात करनी है। पहली छलांग एक इकाई की लंबाई की हो सकती है और प्रत्येक क्रमिक छलांग लंबाई में पिछली छलांग की तुलना में ठीक एक इकाई लंबी होगी। इसे प्रत्येक छलांग में बाएं या दाएं जाने की अनुमति है। तो यदि X =8 है, तो आउटपुट 4 है। 0 → -1 → 1→ 4 → 8 संभावित चरण हैं।

अगर हम ध्यान से देखें तो हम कह सकते हैं कि

  • यदि आपने हमेशा सही दिशा में छलांग लगाई है, तो n छलांग लगाने के बाद आप बिंदु p =1 + 2 + 3 +… + n
  • पर होंगे
  • अगर हम बाईं ओर भी कूद सकते हैं, तो kth जंप पर आप बिंदु p – 2k पर होंगे।
  • यदि हम सावधानी से चुनते हैं कि कौन सी छलांग बाईं ओर जाती है और कौन सी दाईं ओर जाती है, तो n छलांग के बाद, आप n(n+1)/2 और –(n*(n+1) / 2 के बीच के बिंदु पर हो सकते हैं ), n(n+1)/2 के समान समता के साथ।

उदाहरण

#include<iostream>
#include<cmath>
using namespace std;
inline int sumOneToN(int n) {
   return (n * (n + 1)) / 2;
}
int jumps(int n) {
   n = abs(n);
   int ans = 0;
   while (sumOneToN(ans) < n or (sumOneToN(ans) - n) & 1)
      ans++;
   return ans;
}
int main() {
   int n = 9;
   cout << "Number of jumps: " << jumps(n);
}

आउटपुट

Number of jumps: 5

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क

  1. C++ का प्रयोग करते हुए दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या ज्ञात कीजिए

    एक चतुर्भुज यूक्लिडियन समतल ज्यामिति में चार शीर्षों और चार किनारों वाला एक बहुभुज बनाता है। नाम 4-गॉन आदि। चतुर्भुज के अन्य नामों में शामिल हैं और कभी-कभी उन्हें एक वर्ग, प्रदर्शन शैली आदि के रूप में भी जाना जाता है। इस लेख में, हम दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या का पता लगाने के तरीकों

  1. C++ में एक लाइन के मध्य-बिंदु को खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, जो एक रेखा के आरंभ और अंत बिंदु हैं। हमारा काम C++ में एक लाइन के मध्य-बिंदु को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहाँ, हमारे पास एक रेखा है जिसमें शुरुआती और अंत बिंदु A(x1, y1) और B(x2, y2) हैं। और हमें रेखा के मध्य-बिंदु को खोजन