ফ্লয়েড ওয়ার্শাল – সব নোড থেকে সব নোডে যাওয়ার সর্বনিম্ন দুরত্ব

গবলিনদের সাথে তো এই দুই পর্বে ভালই টেক্কা দিলাম। তারা দুই দুইটা গোল খেয়ে খুবই রেগে। তারা ছুড়ে দিল আরও কঠিন এক চ্যালেঞ্জ। এবার তোমাকে বলতে হবে এক ভল্ট থেকে অন্য যেকোনো ভল্টে যাওয়ার সর্বনিম্ন দুরত্ব কত। আরে এ আর এমন কী? সব ভল্টে গিয়ে ডায়াক্সট্রা করে দিয়ে আসবো! কিন্তু...

নেগেটিভ সাইকেল খুজে বের করা – বেলম্যান ফোর্ড

আগের পর্বে আমরা দেখেছি কীভাবে ডায়াক্সট্রার এলগরিদম ব্যবহার করে গ্রিনগটসের সব ভল্টে যাওয়ার সর্বনিম্ন দুরত্ব বের করা যায়। আমাদের এত সহজে তাদের সব রহস্য জেনে যাওয়া গবলিনদের পছন্দ হলো না। কারণ কোনো গবলিনই স্বীকার করতে চায় না যে তারা মানুষের সাহায্য নিয়েছে! তারা নতুন এক...

ডায়াক্সট্রা, ডিজক্সাত্রা নয়! (Dijkstra’s Algorithm for Shortest Path)

হ্যারি পটারের কথা তো সবাই শুনেছি। তো উইজার্ডদের ব্যাংক হল গ্রিনগটস, যার ভল্টগুলো কি না মাটির নিচে। সেখানে এক ভল্ট থেকে আরেক ভল্টে যেতে হয় কার্টে করে, যার দায়িত্বে থাকে একজন গবলিন। এত হাজার হাজার ভল্টের কোনটায় যেতে হলে কোন পথে যেতে হবে, তা তারা মনে রাখে কীভাবে? জাদুকরী...

” ফাস্ট ” এক্সপনেনসিয়েশন!

আসসালামু আলাইকুম! অনেক অনেক দিন পর গুহা থেকে বেরোলাম আমি সাদমান সাকিব। গুহা থেকে বের হওয়ার একটা ছবি দেখে আসিঃ   গুহা থেকে বেরিয়ে আজ আমি আমার অন্যতম প্রিয় বিষয়বস্তু কম্পিউটার প্রোগ্রামিং নিয়ে লিখা শুরু করে দিবো। টপিকটা হচ্ছে, একটা সংখ্যাকে এর n-তম ঘাতে তুলে ফেলা!...

হিমালয়ের সমান ভাগফল,এক ডিজিটের ভাগশেষ – রিটার্নস!

আবারো চলে এলাম আপনাদের মাঝে। গত পর্বে আমরা আলোচনা করেছিলাম কীভাবে বিশাআআআআআআআআআল বড় একটা সংখ্যাকে আরেকটা সংখ্যা দিয়ে ভাগ করে তার ভাগশেষটা খুব সহজে এবং O(বড় সংখ্যার ডিজিট) কমপ্লেক্সিটিতে বের করে ফেলা যায়! আজ আমরা কি শিখতে পারি? হ্যা,বঞ্চিত হয়ে আসা ”ভাগফল”...

হিমালয়ের সমান ভাগফল,এক ডিজিটের ভাগশেষ

অনেক অনেক দিন পর আজ আমি আপনাদের সামনে আবার চলে এলাম। আসসালামু আলাইকুম। জুনিয়র প্রোগ্রামাররা একটা ব্যাপার নিয়ে অনেক বেশি হিমশিম খায় প্রায়শঃ,আর এই ব্যাপারটা হচ্ছে বিশাল একটা সংখ্যার ভাগশেষ যখন বের করতে দেয়া হয়!! যদি কেউ বলে , ”এই প্রোগ্রামার,১০^১৮ কে ২৪৩৫৪৫৪ দিয়ে...

বিশাআআআআআল সংখ্যার মডুলাস বের করা

আমাদের মাঝে মাঝে বিশাল কিছু সংখ্যার জন্য ভাগশেষ বের করতে হয়, যেমন ১০০০ ডিজিটের সংখ্যাকে আরেকটি ইন্টিজার(১০^৮ এর চেয়ে ছোট) দিয়ে ভাগ করে ভাগশেষ। এর জন্য জাভাতে BigInteger Library ব্যবহার করলেই হয়ে যায়। সিতে কাজটি করতে হয় স্ট্রিং-এর সাহায্য নিয়ে। তোমরা যারা এই...

রিকার্শনের মাধ্যমে মডুলার এক্সপনেন্সিয়েশন!

ধর তোমাকে  Xn-কে M দ্বারা ভাগ করলে যে ভাগশেষ থাকে, সেটা বের করতে হবে। দেখতে খুবই সহজ এই প্রবলেমটাই বাস্তবে করতে গেলে অনেক ঝামেলার সৃষ্টি হয়ে যায়। আমরা সরাসরি যা করতে পারি তা হল প্রথমে Xn বের করে নিয়ে পরে ভাগশেষ তা বের করাঃ Xn mod M = (Xn) % M যেমনঃ 72 mod 4 = (72) % 4...