এই সেকশনে আমরা দেখব কিভাবে কোনো কন্ডিশনাল স্টেটমেন্ট (যেমন <, <=, !=, >, >=, ==) ব্যবহার না করে একটি সংখ্যা অড (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