কোন একটা নাম্বার যদি প্রাইম না হয়, অর্থাৎ কম্পোজিট(যৌগিক সংখ্যা) হয় তাহলে সেই নাম্বারটার একটা ফ্যাক্টর (উৎপাদক) নাম্বারটির বর্গমূলের সমান বা তার থেকে ছোট হবেই” একটা উদাহরন দিলে মনে হয় এই কথাটার মানে বোঝা সহজ হবে।
ধরা যাক,আমাদের কাছে একটা কম্পোজিট নাম্বার আছে সেইটা হল ৯০। এখন একটা সিম্পল ক্যালকুলেটর দিয়ে আমরা √(৯০ ) এর মান বের করতে পারি। আমার পিসির ক্যালকুলেটর বলতেছে যে, √(৯০ ) এর মান হচ্ছে৯.৪৮৬৮৩২৯৮০৫০৫১৩৮। আমরা যেহেতু কোডিং এর সময় ইনটিজার ভ্যালু নিয়া কাজ করব তাই আমরা বলতে পারি যে √(৯০ ) এর মান সিমপ্লি ৯। আচ্ছা এই পর্যন্ত বোঝা গেল। এখন আমরা একটা জিনিস দেখি-
১*৯০=৯০
২*৪৫=৯০
৩*৩০=৯০
৫*১৮=৯০
৬*১৫=৯০
৯*১০=৯০
আমরা শুধু ৯০ কে দুইটি সংখ্যার গুনফল আকারে লিখেছি। এবং আসলে এইগুলাই হচ্ছে ৯০ এর সবগুলা ফ্যাক্টর। এখানে একটু লক্ষ করলেই দেখা যায় যে, বামপাশের কলামে যে ফ্যাক্টর গুলা আছে সেইগুলা √(৯০ ) এর সমান বা তার থেকে ছোট আর ডানপাশের কলামে যে ফ্যাক্টর গুলা আছে সেইগুলার মান √(৯০ ) এর সমান বা তার থেকে বড়। আবার আমাদের ক্যালকুলেটর থেকে করা হিসাব অনুযায়ী আমরা জানি যে √(৯০ ) এর মান ৯। তাহলে আমাদের থিওরি অনুযায়ী কি সব কিছ হচ্ছে?????? হা হচ্ছে। কারন আমাদের থিওরি তে বলা আছে যে, কম্পোজিট নাম্বারের একটা ফ্যাক্টর নাম্বারটির বর্গমূলের সমান বা তার থেকে ছোট হবে।
এইখানে ৯০ এর ফ্যাক্টর গুলা হইতেসে ১,২,৩,৫,৬,৯,১০,১৫,১৮,৩০,৪৫ এবং ৯০। তাইলে এইখানে ৫টা ফ্যাক্টর আছে যাদের মান √(৯০ ) থেকে ছোট আর √(৯০ ) এর মান হচ্ছে ৯ তাই আমদেরথিওরিটা একদম পারফেক্ট ভাবে মিলে গেছে কারন ফ্যাক্টর গুলার মধ্যে ৯ ও আছে। এইখানে আর একটা মজার বিষয় লক্ষণীয় যে, ৯০= ৬*১৫(টেস্ট করার জন্য নিলাম আরকি) ৬ এবং ১৫ এর মধ্যে একটা হচ্ছে √(৯০ ) এর মান থেকে ছোট(এইক্ষেত্রে ৬) এবং আরেকটা √(৯০ ) এর থেকে বড় (এইক্ষেত্রে ১৫)। আবার ৯০=৯*১০ এর মধ্যে একটা হচ্ছে √(৯০ ) সমান(৯) আরেকটা হচ্ছে √(৯০ ) থেকে বড়।তো আমরা এইখান থেকে বলতে পারি যে, ৯০ এর
ফ্যাক্টর গুলার একটা যদি √(৯০ ) থেকে ছোট হয় তাহলে আরেকটা হবে √(৯০ )থেকে বড়। যদি তা না হয় তাহলে তাদের গুনফল ৯০ হবে না।গুনফল গুলা খেয়াল করলেই দেখা যায়।
তাহলে একটা নাম্বার n প্রাইম কিনা তা জানতে হলে √(n ) পর্যন্ত সংখ্যা দিয়ে ভাগ করলেই হয়ে যাবে। n বা n-1 বা n/2 পর্যন্ত সংখ্যা দিয়ে ভাগ করার কোনই দরকার নাই। কেন নিশ্চয়ই সবাই বুঝতে পারছে। কারন নাম্বারটা যদি প্রাইম হয় তাহলে √n এই সীমার মধ্যে একটা নাম্বার দিয়েও n ভাগ যাবে না।
ফ্যাক্টর গুলার একটা যদি √(৯০ ) থেকে ছোট হয় তাহলে আরেকটা হবে √(৯০ )থেকে বড়। যদি তা না হয় তাহলে তাদের গুনফল ৯০ হবে না।গুনফল গুলা খেয়াল করলেই দেখা যায়।
তাহলে একটা নাম্বার n প্রাইম কিনা তা জানতে হলে √(n ) পর্যন্ত সংখ্যা দিয়ে ভাগ করলেই হয়ে যাবে। n বা n-1 বা n/2 পর্যন্ত সংখ্যা দিয়ে ভাগ করার কোনই দরকার নাই। কেন নিশ্চয়ই সবাই বুঝতে পারছে। কারন নাম্বারটা যদি প্রাইম হয় তাহলে √n এই সীমার মধ্যে একটা নাম্বার দিয়েও n ভাগ যাবে না।
এইবার আমরা code এ চলে আসিঃ
এইবার আসা যাক
কোডটাকে ব্যাখ্যা করার
পালা।ধরা যাক, ১৭ প্রাইম
কিনা আমরা চেক করতে চাই।আমাদের এইখানে প্রথমেই আমরা একটা ভেরিয়েবল x এ আমাদের যে নাম্বারটাকে প্রাইমকিনা চেক করতে চাই,তার বর্গমূল x এ এসাইন হবে। এক্ষেত্রে হবে ৪।
এরপরে for loop এর ভেতরে আমরা ৪ পর্যন্ত লুপ চালাই। লুপের ভিতেরে condition দেয়া আছে যে, যদি আমাদের 17,i দ্বারা ভাগ যায় তাহলে লুপটা ব্রেক হুয়ে যাবে। 2 দ্বারা ১৭ ভাগ যায় না। তাই i=3 হবে, ৩ দ্বারা ১৭ ভাগ যায় না তাই i=4 হবে। ৪ দ্বারা ১৭ ভাগ যায়না তাই i=5 হবে কিন্তু আমাদের x এর আছে ৪। তাই প্রোগ্রাম control লুপ থেকে বের হয়ে যাবে। এখন নিচে আরেকটা condition আছে if(n>1 && i == x+1)। এখানে n>1এইটা সত্য(n=17 তাই) এবং i == x+1
এইটাও সত্য। কারন i এর ভেলু যখন ৫ হইসিল তখন লুপ থেকে আমরা বের হয়ে গেসিলাম। আবার x এর মান হইতেসে ৪ যার সাথে ১ যোগ করলে হয় ৫। তাই, ৫=৫ এইটা সত্য।তাই আমাদের নাম্বারটা প্রাইম।এইভাবে অন্যান্য নাম্বারগুলাও চেক করে দেখা যাবে প্রাইম কিনা।
কিনা আমরা চেক করতে চাই।আমাদের এইখানে প্রথমেই আমরা একটা ভেরিয়েবল x এ আমাদের যে নাম্বারটাকে প্রাইমকিনা চেক করতে চাই,তার বর্গমূল x এ এসাইন হবে। এক্ষেত্রে হবে ৪।
এরপরে for loop এর ভেতরে আমরা ৪ পর্যন্ত লুপ চালাই। লুপের ভিতেরে condition দেয়া আছে যে, যদি আমাদের 17,i দ্বারা ভাগ যায় তাহলে লুপটা ব্রেক হুয়ে যাবে। 2 দ্বারা ১৭ ভাগ যায় না। তাই i=3 হবে, ৩ দ্বারা ১৭ ভাগ যায় না তাই i=4 হবে। ৪ দ্বারা ১৭ ভাগ যায়না তাই i=5 হবে কিন্তু আমাদের x এর আছে ৪। তাই প্রোগ্রাম control লুপ থেকে বের হয়ে যাবে। এখন নিচে আরেকটা condition আছে if(n>1 && i == x+1)। এখানে n>1এইটা সত্য(n=17 তাই) এবং i == x+1
এইটাও সত্য। কারন i এর ভেলু যখন ৫ হইসিল তখন লুপ থেকে আমরা বের হয়ে গেসিলাম। আবার x এর মান হইতেসে ৪ যার সাথে ১ যোগ করলে হয় ৫। তাই, ৫=৫ এইটা সত্য।তাই আমাদের নাম্বারটা প্রাইম।এইভাবে অন্যান্য নাম্বারগুলাও চেক করে দেখা যাবে প্রাইম কিনা।