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

C++ প্রোগ্রাম: অ্যারে রিঅ্যারেঞ্জ করে দিয়ে দিয়ে ফর্মুলার মান m হয় কিনা যাচাই

মান লিখুন: আমাদের কাছে n উপাদান বিশিষ্ট একটি অ্যারে A এবং আরেকটি সংখ্যা m রয়েছে। আমরা যাচাই করব যে কি অ্যারেটিকে রিঅ্যারেঞ্জ করা যায় যাতে নিচের ফর্মুলার মান m হয়:

$$\mathrm{\sum_{i=1}^{n} \sum_{j=1}^{n}\frac{A[j]}{j} = m}$$

এখানে A[j]/j অপারেশনে কোনো রাউন্ডিং নেই।

উদাহরণ

যদি ইনপুট হয় A = [2, 5, 1]; m = 8, তবে আউটপুট হবে True, কারণ [1, 2, 5] ব্যবস্থাপনায় (1/1 + 2/2 + 5/3) + (2/2 + 5/3) + (5/3) = 8

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

sum := 0
n := A এর আকার
for i := 0 থেকে n-1:
    sum := sum + A[i]
যদি sum == m: true রিটার্ন করুন
অন্যথায়: false রিটার্ন করুন

C++ বাস্তবায়ন

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

bool solve(vector<int> A, int m) {
    long sum = 0;
    int n = A.size();
    for (int i = 0; i < n; ++i) {
        sum += A[i];
    }
    if (sum == m) return true;
    else return false;
}

int main() {
    vector<int> A = { 2, 5, 1 };
    int m = 8;
    cout << solve(A, m) << endl;
}

ইনপুট

{ 2, 5, 1 }, 8

আউটপুট

1
  1. সি++ STL ব্যবহার করে অ্যারে প্যালিনড্রোম কিনা তা যাচাই করার প্রোগ্রাম

  2. সি++-এ অ্যারে বিটোনিক (Bitonic) কিনা তা যাচাই করার প্রোগ্রাম

  3. C++-এ দেওয়া অ্যারে n লেভেলের BST প্রতিনিধিত্ব করতে পারে কিনা তা যাচাই করা

  4. C++ প্রোগ্রাম: বাইনারি ট্রি AVL ট্রি কিনা যাচাই