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

C++ প্রোগ্রাম: কন্ডিশনাল স্টেটমেন্ট ছাড়া "Even" বা "Odd" প্রিন্ট


এই সেকশনে আমরা দেখব কিভাবে কোনো কন্ডিশনাল স্টেটমেন্ট (যেমন <, <=, !=, >, >=, ==) ব্যবহার না করে একটি সংখ্যা অড (Odd) নাকি ইভেন (Even) সেটা চেক করা যায়।

কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে সহজেই অড বা ইভেন চেক করা যায়। সংখ্যাকে ২ দিয়ে ভাগ করে ভাগশেষ ০ কিনা চেক করলে হয়। যদি ০ হয়, তবে ইভেন। অন্যথায় সংখ্যার সাথে ১ দিয়ে AND অপারেশন করলে। যদি ফলাফল ০ হয়, তবে ইভেন, অন্যথায় অড।

এখানে কোনো কন্ডিশনাল স্টেটমেন্ট ব্যবহার করা যাবে না। আমরা অড বা ইভেন চেক করার দুটি আলাদা পদ্ধতি দেখব।

পদ্ধতি ১

এখানে আমরা একটি স্ট্রিং অ্যারে তৈরি করব। ইনডেক্স ০-এ "Even", এবং ইনডেক্স ১-এ "Odd" রাখব। সংখ্যাকে ২ দিয়ে ভাগ করে ভাগশেষকে ইনডেক্স হিসেবে ব্যবহার করে সরাসরি রেজাল্ট পাওয়া যাবে।

উদাহরণ কোড

#include <iostream>
using namespace std;

main() {
    int n;
    string arr[2] = {"Even", "Odd"};
    cout << "একটি সংখ্যা দিন: ";
    cin >> n;
    cout << "The number is: " << arr[n%2];
}

আউটপুট ১

একটি সংখ্যা দিন: 40
The number is: Even

আউটপুট ২

একটি সংখ্যা দিন: 89
The number is: Odd

পদ্ধতি ২

এটি দ্বিতীয় পদ্ধতি। এখানে কিছু ট্রিক ব্যবহার করা হয়েছে। লজিক্যাল এবং বিটওয়াইজ অপারেটর ব্যবহার করা হয়েছে। প্রথমে সংখ্যা এবং ১-এর সাথে AND অপারেশন করা হয়েছে। তারপর লজিক্যাল AND ব্যবহার করে অড বা ইভেন প্রিন্ট করা হয়েছে। যখন বিটওয়াইজ AND-এর ফলাফল ১ হয়, তখন লজিক্যাল AND অপারেশন "odd" রিটার্ন করবে, অন্যথায় "even"।

উদাহরণ কোড

#include <iostream>
using namespace std;

main() {
    int n;
    string arr[2] = {"Even", "Odd"};
    cout << "একটি সংখ্যা দিন: ";
    cin >> n;
    (n & 1 && cout << "odd") || cout << "even";
}

আউটপুট ১

একটি সংখ্যা দিন: 40
even

আউটপুট ২

একটি সংখ্যা দিন: 89
odd
  1. বিজোড় এবং জোড় সংখ্যক নোড वाले ট্রি লেভেল প্রিন্ট করা C++-তে

  2. সি++ প্রোগ্রাম: বাইনারি ট্রি (Binary Tree)-এর বিজোড় লেভেল (Odd Level)-এ থাকা নোডগুলো প্রিন্ট করা

  3. সি++ প্রোগ্রাম: রিকারশন ছাড়া রুট-টু-লিফ (Root-to-Leaf) সব পাথ প্রিন্ট করা

  4. পাইথনে লুপ ছাড়া নাম্বার সিরিজ প্রিন্ট করা (রিকার্শন)