Skip to main content

Posts

Showing posts from April, 2020

কম্পিটিটিভ প্রোগ্রামিং এ হাতেখড়ি

কম্পিটিটিভ প্রোগ্রামিং এ হাতেখড়ি আপনি কম্পিটিটিভ প্রোগ্রামিং শব্দটা যদি আজকেই প্রথম শোনেন তবে নিচে আমার দেওয়া টার্গেটগুলো স্টেপ বাই স্টেপ কমপ্লিট করলে আশা করি কম্পিটিটিভ প্রোগ্রামিং এ হাতেখড়ি হয়ে যাবে। প্রথমে সি/সি++/জাভা (আমি বাকি ল্যাংগুয়েজ রিকমান্ড করিনা) একটা শিখে ফেলুন।নিচের দেওয়া টার্গেট কমপ্লিট করুন। Target 1: • Basic Syntax • Input-output • conditional logic • loops • array • string • functions • some টুকটাক জিনিসপত্র রেফারেন্স বুকঃ সুবিন ভাই এর বই (প্রথম খন্ড) Target 2: • Dimik OJ থেকে ১০-১২ টা প্রব্লেম সল্ভ করবেন • কোড মার্শালে যে কয়টা সম্ভব সব সল্ভ করবেন • URI তে 100/120 টা সমস্যা সমাধান করবেন • Multidimensional Array(2D/3D) নিয়ে পড়াশোনা করবেন • LightOj তে গিয়ে প্র্যাক্টিস স্টার্ট করে দিবেন • ম্যাথ,পাজল সল্ভ করবেন রেগুলার Target 3: এ পর্যায়ে নিচের বইগুলো পড়বেন • The Art and craft of problem solving • কম্বিনেটরিক্সের হাতেখড়ি • গনিত অলিম্পিয়াডের স্বপ্নযাত্রা। • Ming's combinatorics book • Olympiad Comb

Trial Division Algorithm

Trial Division Algorithm সাধারণত মৌলিক সংখ্যা বলতে আমরা বুঝি ২,৩,৫,৭,১১ এ ধরণের সংখ্যাকে। কেন এগুলো মৌলিক সংখ্যা? কারণ, এসব সংখ্যা শুধু মাত্র ২ টা সংখ্যা দ্বারা বিভাজ্য। প্রথমটি হলো ১ এবং পরেরটি হলো ঐ সংখ্যা নিজেই। উদাহরণস্বরূপ, ধরুন ৫ সংখ্যাটি মৌলিক। এর কারণ ১ থেকে ৫ এর মধ্যে ৫ সংখ্যাটি শুধু মাত্র ১ এবং ৫ দ্বারাই বিভাজ্য। আবার ৯ সংখ্যাটি ১ থেকে ৯ এর মধ্যে ১,৩ এবং ৯ দ্বারা বিভাজ্য। যেহেতু ৩ টি সংখ্যা দ্বারা ৯ বিভাজিত হচ্ছে তাই ৯ মৌলিক সংখ্যা নয়। তাহলে আমরা বলতে পারি একটা সংখ্যা মৌলিক সংখ্যা হবার শর্ত হলো- দুটি বিভাজক থাকতে হবে এবং বিভাজক দুইটি ১ এবং ঐ সংখ্যা নিজেই। [বি.দ্রঃ ১ সংখ্যাটি মৌলিক সংখ্যা নয় কারণ ১ এর বিভাজক মাত্র ১টি।] মৌলিক সংখ্যা বের করার উপায়কে তাহলে আমরা একটু কোডে লিখে ফেলি।   int IsPrime(x) // একটা ফাংশন লিখছি যেটা ইন্টিজার টাইপ ভ্যালু রিটার্ন করবে { int result=1;// প্রথমে ধরে নিব x প্রাইম তাই result এ   ১ রেখেছি for(int i=2;i<x;i++) // লুপ শুরু হবে ২ থেকে এবং যে সংখ্যা চেক করব তার আগে পর্যন্ত যাবে         {                 if(x%i==