Рубрики

C / C ++ Программа для подсчета конечных нулей в факториале числа

Получив целое число n, напишите функцию, которая возвращает число конечных нулей в n !.

Примеры :

Input: n = 5
Output: 1 
Factorial of 5 is 120 which has one trailing 0.

Input: n = 20
Output: 4
Factorial of 20 is 2432902008176640000 which has
4 trailing zeroes.

Input: n = 100
Output: 24
Trailing 0s in n! = Count of 5s in prime factors of n!
                  = floor(n/5) + floor(n/25) + floor(n/125) + ....

C ++

// C ++ программа для подсчета
// концевые 0 в n!
#include <iostream>

using namespace std;

  
// Функция для возврата трейлинга
// 0 в факториале n

int findTrailingZeros(int n)

{

    // Инициализировать результат

    int count = 0;

  

    // Продолжаем делить n на степени

    // 5 и счетчик обновлений

    for (int i = 5; n / i >= 1; i *= 5)

        count += n / i;

  

    return count;

}

  
// Код драйвера

int main()

{

    int n = 100;

    cout << "Count of trailing 0s in " << 100

         << "! is " << findTrailingZeros(n);

    return 0;

}

Выход:

Count of trailing 0s in 100! is 24

Пожалуйста, обратитесь к полной статье по счету конечных нулей в факториале числа для более подробной информации!

Рекомендуемые посты:

C / C ++ Программа для подсчета конечных нулей в факториале числа

0.00 (0%) 0 votes