সংখ্যা ব্যবস্থা -১


সংখ্যা আমরা নানা কাজে
ব্যবহার করি। সংখ্যা ব্যবস্থা
সম্পর্কেও আমরা ছোটবেলায়
পড়াশোনা করে এসেছি। কিন্তু
এরপরও আমরা অনেকে
সংখ্যাগুলোর অনেক প্রকার ব্যবহার
সম্পর্কে সম্যক ধারণা রাখি না।
একটি দেশে কেবল মাত্র ১, ১০, ১০০
এবং ১০০০ টাকার নোট আছে।
একজনের কাছে ৮৬৭৩ টাকা আছে।
তার কাছে ন্যূনতম কতগুলো নোট
আছে বা সর্বনিম্ন কতগুলো নোট
দিয়ে ৮৬৭৩ টাকা পাওয়া যেতে
পারে?
অংকটি ছোটোদের জন্য খুব সহজ।
বড়দের জন্য একটু একটু কঠিন। বড়রা
অনেক কঠিন ভাবে ভাবতে গিয়ে
ব্যাপারটিতে গোলমাল লাগিয়ে
দিতে পারে। উত্তর হচ্ছে ৮ + ৬ + ৭
+ ৩ = ২৪। খুব সহজ তাই না? এখন
চিন্তা করুন অংক দিয়ে গণনা বা
পরিমাপ ছাড়া আর কি করা
যেতে পারে?
ধরুন আপনার ৫ জন ভাই আছে এবং
আপনার দেশে ১০ টি শহর আছে।
আপনার ভাইয়েরা যে কোনো সময়
যে কোনো শহরে অবস্থান করতে
পারে। আপনি জানতে চাইলেন
আপনার কোন ভাই এই মুহুর্তে কোন
শহরে আছে। এই সমস্যার সমাধান
কি একটি সংখ্যা আকারে প্রকাশ
করা যেতে পারে? হ্যাঁ পারে।
ধরুন কেউ আপনাকে বলল আপনার ৫
ভাইয়ের বর্তমান অবস্থান ৯৮৬৫৭।
এটা দেখে কি আপনি বুঝতে
পারবেন যে আপনার কোন ভাই
কোন শহরে আছে? চেষ্টা করলেই
পারবেন। আমরা জানি অংকগুলোর
মূল্য ডান থেকে বামের দিকে
বৃদ্ধি পায়। সুতরাং সে হিসেবে
৭ হচ্ছে ১ম ভাইয়ের অবস্থান, ৫
দ্বিতীয় ভাইয়ের অবস্থান, ৬ তৃতীয়
ভাইয়ের অবস্থান, চতুর্থ ভাই আছে ৮
নং শহরে এবং ৫ম ভাই নবম শহরে।
খেয়াল করে দেখুন শহর আছে ১০টি।
সুতরাং আমরা ০ থেকে ৯ পর্যন্ত
অংকগুলো ব্যবহার করেই ভাইদের
অবস্থান বলে দিতে পারি।
কেউ বলল আপনার ৫ ভাইয়ের
অবস্থান ৭৮৬। এর অর্থ কি? ৭৮৬ কে
আমরা লিখতে পারি ০০৭৮৬।
সুতরাং প্রথম তিন ভাইয়ের
অবস্থান যথাক্রম ৬, ৮ এবং ৭ এবং
চতুর্থ ও পঞ্চম ভাই আছে ০ তম শহরে।
যদি শহর সংখ্যা ১০ না হয়ে ৫ হত?
জ্বী ঠিক ধরেছেন, তখন আমরা ০
থেকে ৪ পর্যন্ত অংকগুলোকে
ব্যবহার করেই বলে দিতে পারতাম
কোন ভাইয়ের অবস্থান কোথায়।
যদি ভাইয়ের সংখ্যা ৫ না হয় ৭
হতো? তখন আমাদের সর্বোচ্চ সাত
ঘর পর্যন্ত ফলাফল দরকার হতো।
অনুশীলনঃ আপনার ৪ বোন আছে।
তাদের প্রত্যেকের কাছে সর্বোচ্চ
৬ টি করে চাচা চৌধুরী কমিকস
আছে। একজন আপনাকে বলল, আপনার
বোনদের বইয়ের অবস্থা,
১। ৭৭৭৭৩
২। ৪৩৫০
১ ও ২ নং তথ্য কি সঠিক? সঠিক হলে
কার কাছে কয়টি করে কমিকস
আছে? সঠিক না হলে কেন?
উত্তর লেখার শেষে পাওয়া
যাবে।
ভিত্তিঃ
ভিত্তি বা বেসের (Base) এর
প্রাথমিক ধারণা আমরা আগের
অনুচ্ছেদে পেয়ে গেছি। যখন
আমাদের শহরের সংখ্যা দশ তখন
আমাদের ভিত্তি প্রয়োজন দশ। ৫৬৪
সংখ্যাটি ৬ ভিত্তিতে সম্ভব নয়।
কারণ একটি ক ভিত্তিক সংখ্যার
যে কোনো অংক সর্বোচ্চ ক - ১
হতে পারে। এজন্যই আমাদের ১০
ভিত্তিক হিসেবে আমরা ০
থেকে ৯ পর্যন্ত অংক ব্যবহার করি।
সুতরাং ৫৬৪ সংখ্যাটি সর্বনিম্ন ৭
ভিত্তিতে বৈধ।
ভিত্তির গুরুত্ব কি?
ভিত্তির কারণে আমরা
সংখ্যাদের সঠিকভাবে তুলনা
করতে পারি। একটি পূর্ণ সংখ্যা
আরেকটি পূর্ণ সংখ্যা থেকে বড়
না ছোট তা বোঝার উপায় হচ্ছে
প্রথমে সংখ্যাদ্বয়ের চিহ্ন তুলনা
করা। ধরলাম দু'টি সংখ্যাই ধনাত্মক।
এখন সংখ্যা দুটির মধ্যে প্রথমে
তুলনা করতে হবে তাদের মধ্যে
একটি আরেকটির তুলনায় দৈর্ঘ্যে
বড় কিনা। তবে এই তুলনা করার
আগে অবশ্যই বাম দিকের সব শূন্য
সরিয়ে নিতে হবে। নাহলে ০০০০১
কে ১২ এর চেয়ে বড় মনে হতেই
পারে। এখন বামদিকের শূন্যগুলো
সরানোর পর যদি সংখ্যা ক,
সংখ্যা খ এর তুলনায় বেশি
অংকবিশিষ্ট হয় তবে ক , খ এর চেয়ে
বৃহত্তর।
প্রমাণঃ
দশ ভিত্তিতে ৩ অংকের বৃহত্তম
সংখ্যাঃ ৯৯৯
দশ ভিত্তিয়ে ৪ অংকের ক্ষুদ্রতম
সংখ্যাঃ ১০০০
আমরা স্বাভাবিক ভাবেই জানি
১০০০ > ৯৯৯। সুতরাং আমাদের কথা
সত্য। কিন্তু এর মধ্যেই আরেকটি রহস্য
লুকিয়ে আছে।
১০০০ এর গঠন প্রক্রিয়াঃ ১ X ১০ ৩ + ০
X ১০ ২ + ০ X ১০ ১ + ০ X ১০ ০
৯৯৯ এর গঠনঃ ০ X ১০৩ + ৯ X
১০২ + ৯ X ১০ ১ + ৯ X ১০ ০
সুতরাং আমরা দেখতে পাচ্ছি
১০০০ এর মধ্যে ১০ এর সর্বোচ্চ সূচক
হচ্ছে ৩ এবং ৯৯৯ এর মধ্যে তা হচ্ছে
২। সুতরাং ১০০০ অবশ্যই ৯৯৯ এর
তুলনায় বৃহত্তর হবে।
এখন যদি দু'টি সংখ্যা ক এবং খ এর
দৈর্ঘ্য সমান হয় তবে?
তাহলে যেটি করতে হবে সেটি
হচ্ছে বাম থেকে ডান দিকে
সংখ্যাদ্বয়ের অংকগুলোকে তুলনা
করে যেতে হবে। প্রথম একটি
অবস্থানে, যেখানে ক এবং খ এর
অংকদ্বয় সমান নয়, সেখানে যার
অংক বড়, সেই সংখ্যাটিই বড়।
যেমন উপরে প্রথম অসমান অংক
হচ্ছে বাম দিক থেকে প্রথম ঘরে।
সেখানে ১০০০ এর জন্য ১ এবং ৯৯৯
এর জন্য ০। যেহেতু ১ > ০, সুতরাং
১০০০ > ৯৯৯। বাকিগুলো আর তুলনা
করার প্রয়োজনই নেই।
অনুশীলন ৩ঃ একই যুক্তিতে ৮৯৭৫
এবং ৯৭৬ এর মধ্যে কে বড়? উত্তর
আছে লেখার শেষে।
সুতরাং তুলনা করা থেকে আমরা
কি ভিত্তির গুরুত্ব বুঝতে পারছি?
যদি ১০ ভিত্তিতে ০ - A দশটি
অংক বৈধ হতো, যেখানে A এর
মান ১০, তবে বলুন A আর ১০ এর মধ্যে
কে বৃহত্তর? তখন এক অংকের বৃহত্তম
সংখ্যা হতো A আবার দু' অংকের
ক্ষুদ্রতম সংখ্যা হতো ১০ এবং
উভয়ের মান সমান! আরো অদ্ভুত
ভাবে, AA এর মান হতো ১০X১০ ১ +
১০X১০০ = ১০০ + ১০ = ১১০ আর তিন
অংকের ক্ষুদ্রতম সংখ্যা হত ১০০!
সুতরাং তিন অংকের একটি
সংখ্যার চেয়ে দু' অংক দিয়ে
বৃহত্তর সংখ্যা গঠন করা সম্ভব হত! এর
ফলে একটি ব্যাপক গোলমাল এবং
পুরো সংখ্যা ব্যবস্থা ভেঙ্গে পড়া
চেয়ে ভালো কিছু হতো না।
আশা করি এখন বোঝা যাচ্ছে
কেনো একটি ভিত্তি ক তে যে
কোনো অংকের মান সর্বোচ্চ ক - ১
হতে পারে।
কম্পিউটার কেন ভিত্তি হিসেবে
দুই ব্যবহার করে?
সুতরাং আমরা বুঝতে পারছি
ভিত্তি দিয়ে আমরা একটি
এককের কতগুলো অবস্থা সম্ভব তা
প্রকাশ করতে পারি। যেমন আমার
ভাইদের অবস্থান হতে পারে ১০টি
শহরে, সুতরাং ভিত্তি দশ।
আপনাকে আটটি লাইট দেয়া
হয়েছে। এখন আপনাকে বলা হল এই
আটটি লাইট ব্যবহার করে ১৬৭
সংখ্যাতই প্রকাশ করতে। কিভাবে
সম্ভব?
সমাধানঃ
জ্বলুক নিভুক জ্বলুক নিভুক নিভুক জ্বলুক জ্বলুক জ্বলুক
আমাদের হাতে প্রতিটি বাতির
জন্য সুযোগ আছে দু'টি; হয় বাতি
জ্বলবে অথবা নিভে থাকবে।
সুতরাং আমাদের ভিত্তি হচ্ছে ২।
এখন জ্বলন্ত গুলোকে ১ এবং নিভন্ত
গুলোকে যদি ০ দ্বারা পরিবর্তন
করি তবে আমরা নিম্নোক্ত
টেবিলটি পাই,
১ ০ ১ ০ ০ ১ ১ ১
লক্ষ্য করো আমাদের ভিত্তি হবে
২, কারণ প্রতিটি ঘরের সম্ভাব্য
অবস্থা মাত্র ২টি। হয় ১ অথবা ০।
সুতরাং ১০১০০১১১ কে ২ ভিত্তিক
সংখ্যা থেকে দশ ভিত্তিকে
নিতে পারি এভাবে,
১ x ২ ৭ + ০ x ২ ৬ + ১ x ২ ৫ + ০ x ২ ৪ + ০ x
২ ৩ + ১ x ২ ২ + ১ x ২ ১ + ১ x ২ ০
= ১২৮ + ০ + ৩২ + ০ + ০ + ৪ + ২ + ১
= ১৬৭
কম্পিউটার লাইট জ্বালানো -
নিভানো না করে কোনো একটি
ক্ষুদ্র চিপে বিদ্যুৎ আছে কি নেই
তার উপরে নির্ভর করে সংখ্যাকে
পড়ে থাকে। কম্পিউটার জানে
মাত্র ২ টি জিনিস। বিদ্যুৎ "আছে"
বা "নেই"। সুতরাং কম্পিউটার
উপরের টেবিলটির মতো করে হয় ০
অথবা ১ দ্বারা ঘরগুলোকে পূর্ণ
করে। কোয়ান্টাম কম্পিউটিং এর
তত্ত্বমতে এই সংখ্যা চার কিন্তু
আমরা এই লেখাতে সে বিষয়ে
আলোচনায় যাবো না। এই
ঘরগুলোকে কম্পিউটিংয়ের
ভাষায় বলা হয় "বিট"। এক একটি বিট
এক এক টি লাইটের ন্যায়। তারা হয়
জ্বলে থাকবে(১) অথবা নিভে
থাকবে(০)।
যখন তোমাকে বলা হয় integer এর
সীমা -২ ৩১ থেকে ২ ৩১ -১ পর্যন্ত
তখন আসলে বোঝানো হয় এই
কম্পিউটারের জন্য এই ভাষায় integer
একটি ৩২ দৈর্ঘের বা ৩২ বিট লম্বা
টেবিল(!) পেয়ে থাকে। ৩২ বিটের
মধ্যে একটি যায় সংখ্যাটি
ধনাত্মক না ঋণাত্মক তা প্রকাশ
করতে। বাকি থাকে ৩১ টি বিট।
অনুশীলনী ৪ঃ ৩১ অংকবিশিষ্ট ২
ভিত্তির সর্বোচ্চ সংখ্যা কোনটি?
সমাধানসমূহঃ
১। সম্ভব নয়। যে কোনো বোনের বই
থাকতে পারে ০ - ৬টি পর্যন্ত। ৭টি
বই থাকতে পারবে না।
২। ০৪৩৫০ - প্রথম বোনের ০টি,
দ্বিতীয় বোনের ৫টি, তৃতীয়
বোনের ৩টি, চতুর্থ বোনের ৪টি
এবং পঞ্চম বোনের ০ টি।
৩। ৮৯৭৫ এবং ৯৭৬ এর মধ্যে তুলনা
করার শুরুতে দেখা যায় ৮৯৭৫ এর
দৈর্ঘ্য বেশি, সুতরাং ৮৯৭৫ বৃহত্তর।
কিন্তু এ অনুশীলনীতে আমাদের
অংক তুলনা করে সংখাদ্বয়ের
মধ্যে তুলনা করতে বলা হয়েছে।
সুতরাং ৯৭৬ এর দৈর্ঘ্য ৮৯৭৫ এর
সমান হওয়ার আগ পর্যন্ত ৯৭৬ এর
শুরুতে ০ বসাতে হবে। আমরা
জানি পূর্ণসংখ্যার বাম পাশের
শূন্যগুলোর কোনো দাম নেই।
সুতরাং আমরা পাই ০৯৭৬ এবং
৮৯৭৫। সুতরাং প্রথম ঘরেই পার্থক্য
হয়। সেখানেও ৯৭৬ এর অংক ৮৯৭৫ এর
প্রথম অংকের তুলনায় ক্ষুদ্রতর।
সুতরাং ৯৭৬ ক্ষুদ্রতর।
সাবধান সংখ্যার শেষে আবার শূন্য
বসিও না। অবশ্য দশমিক থাকলে
সংখ্যার শেষে শূন্য বসাতে
কোনো আপত্তি নেই।
৪। যে কোন ভিত্তি খ এর ক
অংকবিশিষ্ট সর্বোচ্চ সংখ্যা
হচ্ছে ক টি খ - ১ । যেমন ১০
ভিত্তিতে ৩ অঙ্কের সর্বোচ্চ
সংখ্যা হচ্ছে ৩টি ৯, ৯৯৯। সুতরাং
ভিত্তি ২ এ ৩১ সংখ্যাবিশিষ্ট
সর্বোচ্চ সংখ্যা হচ্ছে,
(১১১১১১১১১১১১১১১১১১১১১১১১১১১১১১১)
২ নিচে ছোট করে লেখা ২
সংখ্যাটি ভিত্তি দুইয়ে আছে
বোঝায়। একটু হিসাব করলেই বুঝবে
এটি আসলে ২ ৩২ - ১। বাকিটুকু বের
করে নিও :)
শেষ কথাঃ এখানে যে অংকগুলো
করা আছে সেগুলোতে ভুলভ্রান্তি
থাকা খুবই স্বাভাবিক।
আরো প্রশ্নঃ
যারা প্রোগ্রামিং করো তারা
এই সমস্যাগুলো সমাধান করে
দেখতে পারো।
http://uva.onlinejudge.org/external/3/355.html
http://uva.onlinejudge.org/external/3/343.html
(সার্চিং লাগতে পারে)
http://uva.onlinejudge.org/external/111/11185.html
(ভিত্তি পরিবর্তন)
http://uva.onlinejudge.org/external/112/11205.html
(বিটমাস্ক)

লিখেছেন -
মোহাম্মাদ হেদায়েত
  Software Engineer at GOOGLE

0 comments: