Codeforces-প্রোগ্রামিং সমস্যা [A. Watermelon]

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

A. Watermelon কোডফোর্স এর একটি জনপ্রিয় সমস্যা। কোন সমস্যা সমাধানের আগে আমাদের উচিত সমস্যাটা দুই-তিন বার ভালো করে পড়া এবং বোঝা এখানে কি চাচ্ছে । এখানে ছোট্ট একটা গল্প বলা হয়েছে যে, দুই বন্ধু পেটে এবং বিল্লি সিদ্ধান্ত নেয় যে বাজার থেকে একটি তরমুজ ক্রয় করবে । তারা একটি বড় তরমুজ ক্রয় করে এবং এটিকে ওজন করে । তারা দুজন জোড় সংখ্যার অনেক ভক্ত তাই তারা চায় যে তরমুজ টিকে দুই ভাগ করবে এবং এমন ভাবে ভাগ করবে যেনো প্রতিটি ভাগ এর কেজি জোড় সংখ্যা হয় । সমান দুই ভাগে ভাগ করতে হবে এটা বাধ্যতামুলক না । তারা এটা যেভাবে খুশি ভাগ করতে পারবে । এখন আমাদের বের করতে হবে যে তরমুজটি দুইভাগে ভাগ করা যাবে কি না যার প্রতি ভাগের ওজন হবে জোড় সংখ্যা।
এখানে ইনপুট হিসেবে আমরা তরমুজ-এর ওজন নিতে পারবো যেটি একটা ইন্টিজার ডেটা টাইপ।
আর আউটপুট হিসেবে আমাদের YES অথবা NO প্রিন্ট করতে হবে।

এখন আমরা দেখি আমরা কিভাবে এই সমস্যাটি সমধান করতে পারি।
এখানে আমাদের তরমুজের ওজন জোড় কিনা সেটা বের করতে হবে কারন তরমুজের ওজন যদি বিজোড় হয় তবে সেটা দুইভাগ করলে কখনই ওজন জোড় সংখ্যা পাওয়া যাবে না । তাই আমাদের প্রথম কাজ হবে তরমুজের ওজন জোড় নাকি বিজোড় বের করা । যদি বিজোড় হয় তবে বলে দিতে পারি যে [‘NO’] ভাগ করা যাবে না। সেটি আমরা নিচের পদ্ধ্যতিতে বের করতে পারি,

if(weight % 2 == 0)
{
    //জোড়
}
else
{
    //বিজোড়
}

এখন কিন্তু আমরা তরমুজ এর ওজন জোড় নাকি বিজোড় পেয়ে গেছি । তরমুজের ওজন যদি জোড় হয় আমরা দুই ভাগে ভাগ করতে পারবো কিন্তু এখানে ছোট একটা সমস্যা আছে, সেটি হলো 2 । 2 জোড় সংখ্যা কিন্তু 2-কে সমান দুইভাগ ছাড়া করা যাবে না আবার দুইভাগ করলে প্রতিটি ভাগের ওজন বিজোড় সংখ্যা হয়ে যাবে তাই তরমুজের ওজন যদি দুই হয় তবে আমরা বলে দেবো যে ভাগ করা যাবে না।

if(weight == 2)
{
    //NO
}
else
{
    //YES
}

তাহলে আমাদের কাজের ধাপ গুলো একটু দেখে নেওয়া যাক।
১। প্রথমে বের করতে হবে তরমুজের ওজন জোড় নাকি বিজোড় ।বিজোড় হলে আমরা সরাসরি বলে দিতে পারি ভাগ করা যাবে না।
২। যদি ওজন জোড় সংখ্যা হয় তবে আমাদের দেখতে হবে সেটা ২কিনা। যদি ২ হয় তবে বলতে পারি ভাগ করা যাবে না। আর যদি ২ না হয় তবে ভাগ করা যাবে।

আমি সোর্স কোড নিচে দিয়ে দিয়েছি। কিন্তু কোড দেখার আগে নিজে কয়েক ঘন্টা চেষ্টা করা উচিত ।

#include <iostream>
using namespace std;
 
int main()
{
   int weight;
   cin >> weight;
 
   if (weight % 2 == 0)
   {
       if (weight == 2)
       {
           cout << "NO" << endl;
       }
       else
       {
           cout << "YES" << endl;
       }
   }
   else
   {
       cout << "NO" << endl;
   }
   
    return 0;
}
আকাশ M

আমি আকাশ । মাগুরা পলিটেকনিক থেকে কম্পিউটার ইঞ্জিনিয়ারিং-এ ডিপ্লোমা শেষ করেছি । এখন ড্যাফোডিল ইন্টারন্যাশনাল ইউনিভার্সিটি তে সিএসই বিভাগে পড়াশুনা করছি এবং ফ্রিল্যাঞ্চিং কেয়ার-এ ওয়েব ডেভেলপার হিসেবে কর্মরত আছি । আমার সব থেকে পছন্দের কাজ হলো প্রোগ্রামিং করা । তাছাড়া ক্রিকেট খেলা আমার অন্যতম পছন্দের কাজ। আমি চাই পৃথিবীর সব থেকে বড় সফটওয়ার কোম্পানি গুলোতে কাজ করি। আশা করি একদিন আমি সফল হব।

Recent Posts

Follow Us

Weekly Video