কম্পিউটার

C++ এ হেক্সাডেসিমেল সংখ্যা গণনা করুন


আমাদের শুরু এবং শেষের একটি পরিসর দেওয়া হয়েছে এবং কাজটি হল প্রদত্ত রেঞ্জে উপস্থিত হেক্সাডেসিমেল সংখ্যা বা বর্ণমালার গণনা করা।

হেক্সাডেসিমেল বর্ণমালা কি?

কম্পিউটারের ভাষায়, হেক্সাডেসিমেল সংখ্যা হল সেই সংখ্যাগুলি যেগুলির বেস 16 থাকে যার মানে বাইনারি ডিজিট 16-বিটে উপস্থাপন করা যেতে পারে। এটি 0-15 থেকে শুরু হওয়া পূর্ণসংখ্যা নিয়ে গঠিত। যেখানে 10 কে A হিসাবে, 11 কে B হিসাবে, 12 কে C হিসাবে, 13 কে D হিসাবে, 14 কে Eand 15 কে F হিসাবে উপস্থাপন করা হয়েছে৷

সুতরাং, নীচের প্রোগ্রামে আমাদের কাজ হল রেঞ্জটি হেক্সাডেসিমাল্যালফাবেট নিয়ে গঠিত কিনা তা খুঁজে বের করা।

উদাহরণস্বরূপ

Input − start = 10, End = 13
Output − 4

ব্যাখ্যা − 10 এবং 13 এর মধ্যে 4টি হেক্সাডেসিমেল সংখ্যা রয়েছে যেমন 10টি A, 11টি B, 12টি C এবং 13টি D।

Input − start = 15, End = 16
Output − 1

ব্যাখ্যা − শুধুমাত্র একটি হেক্সাডেসিমেল বর্ণমালা আছে যেমন 15 F এবং 16 যথাক্রমে 10 হিসাবে উপস্থাপন করা হয়৷

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • ভেরিয়েবল থেকে শুরু হওয়া পরিসরটি ইনপুট করুন, ধরা যাক, শুরু এবং শেষ।

  • গণনা সংরক্ষণ করার জন্য একটি পরিবর্তনশীল গণনা ঘোষণা করুন এবং এটিকে 0

    দিয়ে শুরু করুন
  • শুরু করার জন্য i দিয়ে একটি লুপ শুরু করুন এবং যতক্ষণ না আমি শেষ হতে কম বা সমান হয়

  • লুপের ভিতরে, i 10-এর থেকে বড় বা সমান এবং i 15-এর থেকে বড় বা সমান কিনা তা পরীক্ষা করুন তারপর গণনা 1 দ্বারা বাড়ান

  • অন্যথায়, আমি 15 এর চেয়ে বড় কিনা তা পরীক্ষা করুন

  • তারপর, i এবং ট্রাভার্সের মান সহ একটি অস্থায়ী পরিবর্তনশীল temp সেট করুন যখন k 0 এর সমান নয়

  • এবং k%16 10

    এর থেকে বড় বা সমান কিনা তা পরীক্ষা করুন
  • গণনা 1 দ্বারা বাড়ান

  • এবং, temp/16

    দ্বারা টেম্প সেট করুন
  • গণনার মান ফেরত দিন

  • ফলাফল প্রিন্ট করুন।

উদাহরণ

#include <iostream>
using namespace std;
// Function to count the
// total number hexadecimal alphabet
int counthexa(int start, int end){
   int result = 0;
   for (int i = start; i <= end; i++){
      // All hexadecimal alphabets
      // from 10 to 15
      if (i >= 10 && i <= 15){
         result++;
      }
      // If i > 15 then perform mod by 16 repeatedly
      // till the number is > 0
      // If number % 16 > 10 then increase count
      else if (i > 15){
         int k = i;
         while (k != 0){
            if (k % 16 >= 10){
               result++;
            }
            k = k / 16;
         }
      }
   }
   return result;
}
// Main Function
int main(){
   int start = 10, end = 60;
   cout << "count is: "<<counthexa(start, end);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
count is: 21

  1. C++ পেন্টাটোপ নম্বর

  2. C++ এ একটি আয়তক্ষেত্রে বর্গক্ষেত্রের সংখ্যা গণনা করুন

  3. C++-এ চমৎকার সাবরে-এর সংখ্যা গণনা করুন

  4. হেক্সাডেসিমেল থেকে দশমিকের জন্য C++ প্রোগ্রাম