কম্পিউটার

C++ এ একটি সংখ্যার ফ্যাক্টোরিয়ালের অনুগামী শূন্য গণনা করুন


ইনপুট হিসাবে একটি পূর্ণসংখ্যা সংখ্যা দেওয়া. লক্ষ্য হল সেই সংখ্যার জন্য গণনা করা ফ্যাক্টরিয়ালের পিছনের শূন্যের সংখ্যা খুঁজে বের করা। একটি সংখ্যা N এর ফ্যাক্টরিয়াল হল [1, N] পরিসরের সমস্ত সংখ্যার গুণফল।

আমরা জানি যে সংখ্যাটি 10 ​​এর একাধিক হলে বা একটি ফ্যাক্টর পেয়ার (2,5) থাকলেই আমরা একটি ট্রেলিং শূন্য পাই। 5-এর বেশি যেকোন সংখ্যার সমস্ত ফ্যাক্টরিয়ালে, সেই সংখ্যার মৌলিক গুণনীয়ককরণে আমাদের কাছে 5s-এর থেকে 2s বেশি সংখ্যা রয়েছে। একটি সংখ্যাকে 5 এর ঘাত দ্বারা ভাগ করলে আমরা এর গুণনীয়কগুলিতে 5s গণনা করব। সুতরাং, 5s এর সংখ্যা আমাদেরকে পরবর্তী শূন্যের সংখ্যা বলে দেবে।

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

ইনপুট

number=6

আউটপুট

Count of trailing zeros in factorial of a number are: 1

ব্যাখ্যা

The factorial is 30.
Prime factors of 30 : 2 * 3 * 5
So only one pair of (2,5) exists so trailing zeros is 1.

ইনপুট

number=12

আউটপুট

Count of trailing zeros in factorial of a number are: 2

ব্যাখ্যা

The factorial is 479001600.
Prime factors of 479001600 : 210 x 35 x 52 x 71 x 111
So we can get 2 pairs of (2,5) so trailing zeros are 2

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

এই পদ্ধতিতে আমরা সংখ্যাটিকে 5 এর ঘাত দ্বারা ভাগ করব। যদি এটি 1 এর বেশি ফলাফল করে তাহলে অনুগামী শূন্যের সংখ্যাটি 5s এর সংখ্যা হবে। গণনা করতে এটি যোগ করুন।

  • ইনপুট হিসাবে একটি পূর্ণসংখ্যা নিন।

  • ফাংশন trailing_zeros(int number) সংখ্যা গ্রহণ করে এবং সংখ্যার ফ্যাক্টরিয়ালের মধ্যে অনুগামী শূন্যের গণনা প্রদান করে।

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • একটি লুপ ব্যবহার করে, সংখ্যাটিকে 5 এর ক্ষমতা দিয়ে ভাগ করুন।

  • যদি সংখ্যা/i 1-এর বেশি হয়, তাহলে গণনার জন্য এই মানটি যোগ করুন।

  • লুপের শেষে ফলাফল হিসাবে গণনা করুন।

উদাহরণ

#include <iostream>
using namespace std;
int trailing_zeros(int number){
   int count = 0;
   for (int i = 5; number / i >= 1; i *= 5){
      int temp = number / i;
      count = count + temp;
   }
   return count;
}
int main(){
   int number = 50;
   cout<<"Count of trailing zeros in factorial of a number are: "<<trailing_zeros(number);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of trailing zeros in factorial of a number are: 12

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

  2. C++ এ ফ্যাক্টরিয়াল ট্রেইলিং জিরো

  3. জাভা প্রোগ্রাম একটি সংখ্যার ফ্যাক্টরিয়ালের অনুগামী শূন্য গণনা করার জন্য

  4. পাইথন প্রোগ্রাম একটি সংখ্যার ফ্যাক্টোরিয়ালের অনুগামী শূন্য গণনা করতে