কম্পিউটার

C++ এ দুটি জাহাজ এবং অসীম জল সরবরাহ ব্যবহার করে এক লিটার পরিমাপ করুন


এই সমস্যায়, আমাদেরকে x এবং y ক্ষমতা সহ দুটি জাহাজ এবং অসীম জল সরবরাহ করা হয়েছে। আমাদের কাজটি এমন একটি প্রোগ্রাম তৈরি করা যা একটি পাত্রে ঠিক 1 লিটার গণনা করতে সক্ষম হবে। শর্ত দেওয়া হয়েছে যে x এবং y সহ-প্রধান। কো-প্রাইম এছাড়াও আপেক্ষিকভাবে প্রাইম, পারস্পরিক প্রাইম নামেও পরিচিত সংখ্যা হল দুটি সংখ্যা যার একমাত্র সাধারণ ভাজক হিসাবে 1 আছে। সুতরাং, এটি বোঝায় যে তাদের gcd(সর্বশ্রেষ্ঠ সাধারণ ভাজক ) হল 1।

এখানে, ধরা যাক আমাদের কাছে দুটি ভেসেল আছে যার ধারণক্ষমতা x এবং V2 আছে যার ক্ষমতা y। এই দুটি পাত্র ব্যবহার করে 1 লিটার পরিমাপ করতে আমরা জল সরবরাহ থেকে প্রথম পাত্রগুলি পূরণ করব এবং তারপরে এটি দ্বিতীয়টিতে ঢেলে দেব। এই প্রক্রিয়াটি চলতে থাকে যতক্ষণ না জাহাজ V1 তে 1 লিটার জল থাকে।

সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,

ইনপুট ৷ −

V1 =5, V2 =8V1 =5; V2 =0 -> V1 থেকে V2 তে জল ঢালুন এবং এটি রিফিল করুন। V1 =5; V2 =5 -> V1 থেকে V2 তে জল ঢালুন এবং এটি পুনরায় পূরণ করুন। V1 =2; V2 =0 -> V1 থেকে V2 পর্যন্ত জল ঢালুন। এখন, V2 পূর্ণ, এটি খালি করুন। V1 =5; V2 =2 -> V1 থেকে V2 তে জল ঢালুন এবং এটি রিফিল করুন। V1 =5; V2 =7 -> V1 থেকে V2 তে জল ঢালুন এবং এটি পুনরায় পূরণ করুন। V1 =4; V2 =0 -> V1 থেকে V2 পর্যন্ত জল ঢালুন। এখন, V2 ভরা হয়েছে, এটি খালি করুন। V1 =1; V2 =0 -> V1 থেকে V2 তে জল ঢালুন এবং এটি পুনরায় পূরণ করুন৷ এখানে, V1 1 লিটার জল পরিমাপ করে৷

উদাহরণ

সমাধান চিত্রিত করার জন্য প্রোগ্রাম,

#include নেমস্পেস ব্যবহার করে std;int x, y, V1, V2 =0;int transferWater(int amt1, int amt2) { if (amt1 + amt2  

আউটপুট

<প্রি> ভেসেল 1:5 | ভেসেল 2:0 ভেসেল 1:5 | ভেসেল 2:5 ভেসেল 1:2 | ভেসেল 2:0 ভেসেল 1:5 | ভেসেল 2:2 ভেসেল 1:5 | ভেসেল 2:7 ভেসেল 1:4 | ভেসেল 2:0 ভেসেল 1:5 | ভেসেল 2:4 ভেসেল 1:1 | ভেসেল 2:0

  1. C++ এ দুটি সমীকরণ ব্যবহার করে পুনরাবৃত্তি এবং অনুপস্থিত সংখ্যা খুঁজুন

  2. C++ ব্যবহার করে প্রদত্ত এক প্রান্ত এবং মধ্য দিয়ে একটি রেখার অন্য প্রান্ত বিন্দু খুঁজুন

  3. C++ ব্যবহার করে দুটি আয়তক্ষেত্র ওভারল্যাপ করে কিনা তা খুঁজুন।

  4. C++ এ ++ অপারেটর ব্যবহার করে দুটি সংখ্যা যোগ করুন।