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

C++ प्रोग्राम: उन सैनिकों के सूचकांक ढूंढें जो टोही इकाई बना सकते हैं


मान लीजिए हमारे पास n तत्वों वाला एक सरणी A है। n सैनिक एक वृत्त पर खड़े हैं। i-वें सैनिक के लिए, ऊंचाई A[i] है। एक टोही इकाई ऐसे दो आसन्न सैनिकों से बनाई जा सकती है, जिनकी ऊंचाई का अंतर न्यूनतम हो। तो उनमें से प्रत्येक दूसरे के साथ कम ध्यान देने योग्य होगा। हमें उस जोड़ी के सूचकांक ढूंढने हैं जो टोही इकाई बना सकते हैं।

उदाहरण के लिए, यदि इनपुट A = [10, 12, 13, 15, 10] है, तो आउटपुट (5, 1) होगा।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

n := size of A D := |A[0] - A[n - 1]| H := n for initialize i := 1, when i < n, update (increase i by 1), do:    if D > |A[i] - A[i - 1]|, then:       D := |A[i] - A[i - 1]|       H := i print H and (H mod n)

उदाहरण

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

#include <bits/stdc++.h> using namespace std; void solve(vector<int> A) {    int n = A.size();    int D = abs(A[0] - A[n - 1]);    int H = n;    for (int i = 1; i < n; i++) {       if (D > abs(A[i] - A[i - 1])) {          D = abs(A[i] - A[i - 1]);          H = i;       }    }    cout << H << ", " << (H % n) + 1; } int main() {    vector<int> A = { 10, 12, 13, 15, 10 };    solve(A); }

इनपुट

{ 10, 12, 13, 15, 10 }

आउटपुट

5, 1
  1. - C++ प्रोग्राम: LCM (लघुत्तम समापवर्त्य) खोजें

    परिचयदो संख्याओं का लघुत्तम समापवर्त्य (LCM) वह सबसे छोटी संख्या है जो दोनों का गुणक है। उदाहरण के लिए: मान लें हमारे पास दो संख्याएं हैं: 15 और 9। 15 = 5 * 3 9 = 3 * 3 इसलिए, 15 और 9 का LCM 45 है। उदाहरण (लूप का उपयोग करके)#include <iostream> using namespace std; int main() { int a = 7,

  1. - C++ प्रोग्राम: GCD (महत्तम समापवर्तक) खोजें

    परिचयदो संख्याओं का महत्तम समापवर्तक (GCD) वह सबसे बड़ी संख्या है जो दोनों को विभाजित करती है। उदाहरण के लिए: मान लें हमारे पास दो संख्याएं हैं 45 और 27। 45 = 5 * 3 * 3 27 = 3 * 3 * 3 इसलिए, 45 और 27 का GCD 9 है। उदाहरण 1 (यूक्लिडियन एल्गोरिदम)#include <iostream> using namespace std; int gcd(

  1. - C++ प्रोग्राम: फैक्टोरियल खोजें

    परिचयएक गैर-ऋणात्मक पूर्णांक n का फैक्टोरियल उन सभी धनात्मक पूर्णांकों का गुणनफल है जो n से कम या बराबर हैं। उदाहरण के लिए: 5 का फैक्टोरियल 120 है। 5! = 5 * 4 * 3 * 2 * 1 5! = 120 एक पूर्णांक का फैक्टोरियल रिकर्सिव प्रोग्राम या नॉन-रिकर्सिव प्रोग्राम का उपयोग करके पाया जा सकता है। दोनों के उदाहरण नी