С++ СИРИУС Факториал Для заданного натурального N найти последнюю ненулевую цифру числа N!.

Входные данные

Задано число число N(0 ≤ N ≤ 1 000 000).

Выходные данные

Выведите одно число — последнюю ненулевую цифру факториала числа N.

Примеры
Ввод
5
Вывод
2

Ввод
8
Вывод
2

професор3814 професор3814    1   20.07.2022 22:25    5

Ответы
sevostyanova2002 sevostyanova2002  20.07.2022 22:26

#include <bits/stdc++.h>

using namespace std;

int n;

unsigned long long k = 1;

int main() {

   

   ios_base::sync_with_stdio(0);

   cin.tie(0);

   cout.tie(0);

   

   cin >> n;

   while (n > 1) {

       k *= n;

       while (k % 10 == 0)

           k /= 10;

       k %= 10;

       n--;

   }

   cout << k;

}

Для миллиона работает за 0.2 секунды. Сложность, вроде как, получается O(n).

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика