Even-Odd check (জোড় অথবা বিজোড় সংখ্যা যাচাই)
Q1. একটি সংখ্যা জোড় না বিজোড় তা নির্ণয়ের C program লিখ। জোড় সংখ্যা হলে Even Number এবং বিজোড় সংখ্যা Odd Number প্রদর্শন কর।
উত্তরঃ প্রথমেই একটি সংখ্যা জোড় না বিজোড় তা নির্ণয়ের বেসিক ম্যাথটা জেনে নেয়া যাক। একটি সংখ্যাকে ২ দিয়ে ভাগ করে যদি ভাগশেষ শূন্য হয় তবে সেটি জোড় আর যদি ভাগশেষ শূন্য না হয় তবে তা বিজোড় সংখ্যা। তার মানে প্রধানত দুটি কাজ যথা-
(১) সখ্যাটিকে ২ দিয়ে ভাগ করা
(২) ভাগশেষ শূন্য কীনা তা যাচাই করা।
C তে ভাগশেষ যাচাই করার একটি চমৎকার অপারেটর আছে তা মডুলাস (%) অপারেটর। নিচের কোডটি লক্ষ্য করি-
c=n%2;
কোডটিকে কম্পাইলার যেভাবে ইন্টারপ্রিট করে তা হলঃ n কে 2 দিয়ে ভাগ কর এবং ভাগশেষকে c এর মধ্যে জমা কর।
এখানে n হল ইউজার যে সংখ্যাটিকে যাচাই করতে চায় এবং c হল ভাগশেষ। এখন নিচের কোডটি লক্ষ্য করি-
if(c==0)
এর অর্থ হলঃ c কী শূন্যের ‘0’ সমান? নিচের if…else কন্ডিশনাল স্টেটমেন্টটি লক্ষ্য করা যাক-
if(c==0) printf("Even Number"); else printf("Odd Number");
উপরের কোডটির অর্থ দাড়াল যে যদি c এর মান-
(ক) শূন্য হয় তবে printf(“Even Number”); স্টেটমেন্ট কার্যকর হবে
(খ) শূন্য না হয় তবে printf(“Odd Number”); স্টেটমেন্ট কার্যকর হবে
এবার সম্পুর্ণ প্রোগ্রামটি দেখা যাক-
#include<stdio.h> #include<conio.h> int main() { int c,n; printf("Enter any integer: \n"); scanf("%d", &n); c=n%2; if(c==0) printf("Even Number"); else printf("Odd Number"); }
ব্যাখ্যাঃ
(১) n এর মান যেকোনো জোড় সংখ্যা যেমন 20 হলে c=n%2; এর মাধ্যমে c=0 শুণ্য হবে।
(২) c এর মান শূন্য হলে if(c==0) কন্ডিশন সত্য হবে ফলে আউটপুটে Even Number প্রদর্শিত হবে।
(৩) n এর মান যেকোনো বিজোড় সংখ্যা যেমন 21 হলে c=n%2; এর মাধ্যমে c এর মান শূন্য হবে না।
(৪) c এর মান শূন্য না হলে if(c==0) কন্ডিশন মিথ্যা হবে ফলে আউটপুটে Odd Number প্রদর্শিত হবে।
Owesome & understanding & uncommon explanation…Thanks sir
Thank you Rittik. Please let me know if you have any query related this topic.
Thank you Rittik.