কম্পিউটার টিউটোরিয়াল

C++ প্রোগ্রাম: রিকনসাঁইসান্স ইউনিট বানানোর সৈনিকের সূচক

n সৈনিক বৃত্তাকারে দাঁড়িয়ে আছে, উচ্চতা A[i]। দুটি পাশাপাশি সৈনিক যাদের উচ্চতার পার্থক্য ন্যূনতম, সারা রিকনসাঁইসান্স ইউনিট বানাবে। তাদের সূচক (১-ভিত্তিক) বের করুন।

উদাহরণ

A = [10, 12, 13, 15, 10] → আউটপুট: (5, 1)

সমাধানের ধাপসমূহ

প্রথম ও শেষ সৈনিকের পার্থক্য ধরে রেখে সব পাশাপাশি জোড়া চেক করুন। ন্যূনতম পার্থক্য পেলে সূচক আপডেট করুন। বৃত্তাকার হলে শেষ ও প্রথমও পাশাপাশি।

উদাহরণ

#include <bits/stdc++.h> 
using namespace std; 

void solve(vector 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 A = {10, 12, 13, 15, 10}; 
    solve(A); 
    return 0; 
}

ইনপুট

{10, 12, 13, 15, 10}

আউটপুট

5, 1
  1. C++-এ ম্যাট্রিক্স Z-ফর্মে প্রিন্ট করা (Print Matrix in Z form)

  2. C++ প্রোগ্রাম: LCM (লঘুতম সাধারণ গুণিতক) নির্ণয়

  3. C++ প্রোগ্রাম: GCD (মহত্তম সাধারণ ভাজক) নির্ণয়

  4. C++ প্রোগ্রাম: ফ্যাক্টোরিয়াল (Factorial) নির্ণয়