কম্পিউটার টিউটোরিয়াল

সি/সি++ প্রোগ্রাম: ফ্যাক্টোরিয়ালে ট্রেলিং শূন্যের সংখ্যা গণনা


কোনো সংখ্যার ফ্যাক্টোরিয়ালে ট্রেলিং শূন্যের সংখ্যা বের করা। n=5 হলে 5!=120 → ১টি শূন্য। 20! = 2432902008176640000 → ৪টি শূন্য।

সহজ পদ্ধতি: ফ্যাক্টোরিয়াল হিসাব করে শূন্য গণনা (বড় n-এর জন্য কাজ করে না)।
দক্ষ পদ্ধতি: ট্রেলিং শূন্য = ফ্যাক্টোরিয়াল(n)-এর গুণনীয়কে ৫-এর সংখ্যা।

Trailing 0s = count of 5s in prime factors of n!

অ্যালগরিদম

countTrailingZeros(n)

begin count := 0 for i := 5; n/i >= 1; i *= 5 do count := count + n/i done return count end

উদাহরণ

#include <iostream> #include <cmath> #define MAX 20 using namespace std; int countTrailingZeros(int n) {    int count = 0;    for (int i = 5; n / i >= 1; i *= 5)       count += n / i;    return count; } main() {    int n = 20;    cout << "Number of trailing zeros: " << countTrailingZeros(n); }

আউটপুট

Number of trailing zeros: 4

  1. সি/সি++ প্রোগ্রামে ট্রায়্যাঙ্গুলার ম্যাচস্টিক নম্বর বের করা

  2. সি/সি++ প্রোগ্রামে মডুলার ইকুয়েশনের সমাধানের সংখ্যা বের করা

  3. সি/সি++ প্রোগ্রামে কয়েন দিয়ে পিরামিডের সর্বোচ্চ উচ্চতা বের করা

  4. সি/সি++ প্রোগ্রাম: nth ক্যাটালান সংখ্যা (Catalan Number)