কম্পিউটার

বেস 16 N এর প্রতিনিধিত্বে অনুগামী শূন্যের সংখ্যা খুঁজুন! C++ ব্যবহার করে


এই প্রবন্ধে, আমরা উদাহরণ স্বরূপ এর ফ্যাক্টরিয়ালের ভিত্তি 16 উপস্থাপনায় একটি প্রদত্ত সংখ্যা N এর অনুগামী শূন্য খুঁজে বের করার সমস্যাটি বুঝতে পারব

Input : N = 7
Output : 1
Explanation : fact(7) = 5040 in base10 and 13B0 in base16 having 1 trailing zero.

Input : N = 11
Output : 2
Explanation : fact(11) = 39916800 in base10 and 2611500 in base16 having 2 trailing zeroes.

আসুন প্রথমে যেকোন দশমিক সংখ্যাকে একটি বেস থেকে অন্যটিতে রূপান্তর করার প্রক্রিয়াটি সংক্ষিপ্ত করি; আসুন (5040)10 থেকে (?)16

রূপান্তরের একটি উদাহরণ নেওয়া যাক

বেস 16 N এর প্রতিনিধিত্বে অনুগামী শূন্যের সংখ্যা খুঁজুন! C++ ব্যবহার করে

অর্থাৎ, সংখ্যাটিকে 16 দ্বারা ভাগ করা এবং অবশিষ্টটি রাখা যতক্ষণ না সংখ্যাটিকে আরও ভাগ করা যায় না। ফলাফল বিপরীত ক্রমে অবশিষ্ট হবে।

ফলস্বরূপ, আমাদের একটি অনুগামী শূন্য রয়েছে, এবং এই অনুগামী শূন্যটি আমরা পেয়েছি যখন 16 সংখ্যাটিকে অবশিষ্ট 0 দিয়ে ভাগ করে।

5040 =161 * 451 * 71 এর প্রাইম ফ্যাক্টরাইজেশন, যার মানে হল 16 ভাগ করে 5040 1 সময়কে অবশিষ্ট 0 দিয়ে, অনুগামী শূন্যের সমান। এইভাবে, আমরা পরবর্তী শূন্যের সংখ্যা গণনা করতে পারি।

সমাধান খোঁজার পদ্ধতি

আমরা উপরের শূন্যের সংখ্যা বের করার উপায় নিয়ে আলোচনা করেছি। আমরা 16 =24ও জানি, যার মানে N-এর সর্বোচ্চ শক্তি 2-কে চার দিয়ে ভাগ করলে 16-এর সর্বোচ্চ শক্তির সমান হবে। এটি Legendre-এর সূত্র নামেও পরিচিত।

উপরের পদ্ধতির জন্য C++ কোড

এখানে C++ সিনট্যাক্স রয়েছে যা আমরা প্রদত্ত সমস্যার সমাধান করতে ইনপুট হিসাবে ব্যবহার করতে পারি −

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int main () {
   int n = 11;
   long long int count = 0;
   long long int value, power = 2;
   long long int result;

   do{
      value = n / power;
      count += value;
      power *= 2;
   }
   while (value != 0);

   // Count has the highest power of 2
   result = count / 4;
   cout << "Number of trailing zeroes in base 16 representation of N : " << result;
}

আউটপুট

Number of trailing zeroes in base 16 representation of N: 2

উপরের কোডের ব্যাখ্যা

  • আমরা দুটি দিয়ে পাওয়ার শুরু করছি কারণ আমাদের সর্বোচ্চ শক্তি 2 গণনা করতে হবে।
  • Legendre-এর সূত্রকে কিছুক্ষণ লুপে প্রয়োগ করা যেখানে আমরা n-কে শক্তি দিয়ে ভাগ করি, যা প্রাথমিকভাবে দুই, এবং 2 দিয়ে মান ও শক্তি দিয়ে গণনা বৃদ্ধি করা।
  • 2 এর সর্বোচ্চ শক্তিকে চার দিয়ে ভাগ করার পর যা কাউন্ট ভেরিয়েবলে সংরক্ষিত থাকে।
  • আমরা অবশেষে ফলাফল প্রিন্ট করছি।

উপসংহার

এই প্রবন্ধে, আমরা ফ্যাক্টোরিয়াল N-এর বেস 16 উপস্থাপনায় অনুগামী শূন্যের সংখ্যা খুঁজে বের করার সমস্যাটি সমাধান করি, যা আমরা Legendre-এর সূত্র ব্যবহার করে সমাধান করি। একই সমস্যা সমাধানের জন্য আমরা C++ কোডও লিখি। আপনি এই কোডটি জাভা, সি, পাইথন ইত্যাদির মতো অন্য যেকোনো ভাষায় লিখতে পারেন। আমরা আশা করি এই নিবন্ধটি আপনার কাজে লাগবে।


  1. N-এর ভিত্তি B প্রতিনিধিত্বে অনুগামী শূন্যের সংখ্যা খুঁজুন! C++ ব্যবহার করে

  2. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  3. C++ ব্যবহার করে স্টপিং স্টেশনের সংখ্যা খুঁজুন

  4. C++ ব্যবহার করে একটি সেটে রিফ্লেক্সিভ রিলেশনের সংখ্যা খুঁজুন