আমাদের একটি পূর্ণসংখ্যা দেওয়া আছে এবং আমাদের কাজ হল সেই সংখ্যায় জোড় এবং বিজোড় অঙ্কের সংখ্যা গণনা করা। এছাড়া, আমরা চেক করব জোড় অঙ্কগুলো জোড় সংখ্যক বার আসছে কিনা এবং বিজোড় অঙ্কগুলো বিজোড় সংখ্যক বার আসছে কিনা।
উদাহরণ
ইনপুট − digit = 12345 আউটপুট − জোড় অঙ্কের গণনা = 2 বিজোড় অঙ্কের গণনা = 3
ব্যাখ্যা − হ্যাঁ, জোড় অঙ্ক ২বার (জোড় সংখ্যা) এবং বিজোড় অঙ্ক ৩বার (বিজোড় সংখ্যা) আসছে।
ইনপুট − digit = 44556 আউটপুট − জোড় অঙ্কের গণনা = 3 বিজোড় অঙ্কের গণনা = 2
ব্যাখ্যা − না, কারণ জোড় অঙ্ক ৩বার (বিজোড় সংখ্যা) এবং বিজোড় অঙ্ক ২বার (জোড় সংখ্যা) আসছে।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- জোড় ও বিজোড় অঙ্ক থাকা পূর্ণসংখ্যা ইনপুট নিন
- দুটি ভেরিয়েবল ঘোষণা করুন: একটা জোড় অঙ্ক গণনার জন্য, অন্যটি বিজোড় অঙ্ক গণনার জন্য, উভয়কেই 0 দিয়ে আরম্ভ করুন
while digit > 0লুপ শুরু করুন এবংdigit = digit / 10দিয়ে ডিক্রিমেন্ট করুন যাতে প্রতিটি অঙ্ক আলাদা করা যায়- যদি অঙ্ক ২ দিয়ে ভাগ যায় তবে জোড়, অন্যথায় বিজোড়
- জোড় পেলে জোড় কাউন্ট ১ বৃদ্ধি, বিজোড় পেলে বিজোড় কাউন্ট ১ বৃদ্ধি
- জোড় কাউন্ট ২ দিয়ে ভাগ করলে ০ আসলে জোড় বার আসছে, অন্যথায় বিজোড় বার
- বিজোড় কাউন্ট ২ দিয়ে ভাগ করলে ০ না আসলে বিজোড় বার আসছে, অন্যথায় জোড় বার
- ফলাফল প্রিন্ট করুন
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
int n = 12345, e_count = 0, o_count = 0;
int flag;
while (n > 0) {
int rem = n % 10;
if (rem % 2 == 0) {
e_count++;
} else {
o_count++;
}
n = n / 10;
}
cout << "Count of Even numbers : " << e_count;
cout << "\nCount of Odd numbers : " << o_count;
// জোড় সংখ্যা জোড় বার এবং বিজোড় সংখ্যা বিজোড় বার আসছে কিনা চেক
if (e_count % 2 == 0 && o_count % 2 != 0) {
flag = 1;
} else {
flag = 0;
}
if (flag == 1) {
cout << "\nYes " << endl;
} else {
cout << "\nNo " << endl;
}
return 0;
}
আউটপুট
যদি আমরা উপরের কোডটি রান করি তবে নিচের আউটপুট পাব −
Count of Even numbers : 2 Count of Odd numbers : 3 Yes