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

C++ প্রোগ্রাম: স্বিমারের জন্য অপেক্ষা করার ন্যূনতম সময়

মান লিখুন: আমাদের কাছে চারটি সংখ্যা p, a, b এবং c রয়েছে। একটি পুল আছে এবং তিনজন স্বিমার। তারা যথাক্রমে a, b, c মিনিটে পুল পার করে ফিরে আসে। তাই প্রথম স্বিমার পুলের বাম পাশে থাকবে 0, a, 2a, 3a,... মিনিটে। দ্বিতীয় স্বিমার 0, b, 2b, 3b,... এবং তৃতীয় 0, c, 2c, 3c,... মিনিটে। আমরা p মিনিট পর পুলে যাওয়ার সময় কমপক্ষে কতক্ষণ অপেক্ষা করলে কমপক্ষে একজন স্বিমার বাম পাশে পাওয়া যাবে তা বের করতে হবে।

উদাহরণ

যদি ইনপুট হয় p = 2; a = 6; b = 10; c = 9, তবে আউটপুট হবে 4, কারণ ২ মিনিটে পুলে যাওয়ার পর প্রথম স্বিমার ৬ মিনিটে আসবে, তাই ৪ মিনিট অপেক্ষা করতে হবে।

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

p := p - 1
min( a - (p % a + 1), b - (p % b + 1), c - (p % c + 1) ) রিটার্ন করুন

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

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

int solve(int p, int a, int b, int c) {
    p--;
    return min(a - (p % a + 1), min(b - (p % b + 1), c - (p % c + 1)));
}

int main() {
    int p = 2, a = 6, b = 10, c = 9;
    cout << solve(p, a, b, c) << endl;
}

ইনপুট

2, 6, 10, 9

আউটপুট

4
  1. সি++ প্রোগ্রাম দিয়ে অন্য প্রোগ্রাম লঞ্চ করা

  2. C++ প্রোগ্রামিং কীভাবে শিখবেন?

  3. C++-এ একটি সিম্পল প্রোগ্রাম কীভাবে তৈরি করবেন?

  4. C#-এ একটি ক্লাসে কতগুলো ডিস্ট্রাক্টর থাকতে পারে?