আস্সালামু আলাইকুম। আজকে আমরা C Programming Language ব্যবহার করে একটি প্রোগ্রাম লিখব যা আমাদের কাছ থেকে Input হিসেবে একটি Integer Type Number নিবে এবং বলে দিবে Number টি Prime Number কি না।
প্রথমে Code Blocks ওপেন করুন। Code Blocks না থাকলে এখান থেকে Download করে নিন। আপনারা চাইলে অন্য C Compiler- ও ব্যবহার করতে পারেন।
এখন Create a New Project- এ ক্লিক করুন এবং Left Panel থেকে Files এবং C/ C++ Source File Select করুন। এভাবে একটি New Project Workspace তৈরি করুন। এখন নিচের কোডটুকু Type অথবা Paste করুন।
/*This program has been created, build, presented by, Mehbubul Hasan AL- Quvi. http://www.rokzzquvi.weebly.com*/
#include <stdio.h>
int main()
{
int num, i, z=0;
printf ("Enter a number: ");
scanf ("%d", &num);
for (i=3; i<=num/2; i=i+2)
{
if (num%i==0)
{
z=1;
}
}
if (num == 0)
{
printf ("\n%d is zero", num);
}
else if (num<2)
{
printf ("\n%d is not a prime number.", num);
}
else if (num==2)
{
printf ("\n%d is a prime number.", num);
}
else if (num%2 == 0)
{
printf ("\n%d is not a prime number.", num);
}
else if (z==0 && num!=1)
{
printf ("\n%d is a prime number.", num);
}
else
{
printf ("\n%d is not a prime number.", num);
}
return 0;
}
/*Sample of Mehbubul Hasan AL- Quvi. All rights reserved to Red Cross*/
/*http://www.rokzzquvi.weebly.com*/
এখন Build Menu- তে গিয়ে Compile Current File- এ ক্লিক করুন। সবকিছু ঠিকঠাক থাকলে কোনো Error দেখাবে না। এখন আবার Build Menu- তে গিয়ে Run- এ ক্লিক করুন অথবা Ctrl+ F10 Press করুন।
সবাইকে Thanks,
কোনো Error বা Problem হলে বা ভালো লাগলে Comment- এর মাধ্যমে অবশ্যই জানাবেন।
সময় থাকলে Programming Projects এর জন্য Visit করতে পারেন আমার Website: http://www.rokzzquvi.weebly.com
Happy Coding!!
আমি মেহবুবুল হাসান আল কাভী। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 6 টি টিউন ও 28 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
আমি C অথবা এর C++ শিখিনি। কিন্তু qbasic, fortran77 পারতাম। প্রোগ্রামিং ক্লাসে প্রাইম নাম্বার বের করা খুব কমন একটা জিনিষ। তবে প্রোগ্রামিং বইয়ের অ্যালগরিদমে আপনার এই প্রোগ্রামের মতই ভ্যারিয়েবল/২ পর্যন্ত টেস্ট করার লুপ দেয়, যেটা আসলে অতটা দরকার নাই। উদাহরণ স্বরূপ বলা যায়, 97 একটি প্রাইম বা মৌলিক সংখ্যা হিসেবে সিদ্ধান্ত দেয়ার জন্য এই লজিকে 3 থেকে 47 পর্যন্ত সবগুলো বেজোড় দিয়ে টেস্ট করবে। কিন্তু এটা টেস্ট করে সিদ্ধান্ত নেয়ার জন্য জন্য ৩ থেকে ৯ পর্ষন্ত টেস্ট করাই যথেষ্ট ছিল। অর্থাৎ ভ্যারিয়েবল/২ এর বদলে ভ্যারিয়েবলের স্কয়ার রুট (বর্গমূল) পর্যন্ত গেলেই হয়। কারণটা খুবই সিম্পল, বর্গমূলের চেয়ে বড় যেই সংখ্যা দিয়েই ভাগ যাক না কেন, সেটার ফলাফল বর্গমূলের চেয়ে ছোট কোন সংখ্যা আসবে – যা ইতিমধ্যেই টেস্ট করা হয়ে গিয়েছে।
এছাড়া দশমিক যুক্ত সংখ্যা আর নেগেটিভ সংখ্যা ইনপুটের জন্য মেসেজ দেয়ার অপশন রাখেননি বলে মনে হল।