Предмет: Информатика, автор: mnb5757

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

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

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

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

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

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

Ввод
8
Вывод
2


akmalsodikov04: а откуда
akmalsodikov04: эти задачки?
mnb5757: С Сириус курсов
gaga04: Какие ограничения по времени?
mnb5757: ограничения нет

Ответы

Автор ответа: gaga04
1

#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).


mnb5757: Программа выдаёт неверный ответ
NitroX64: Какая именно ошибка?
Похожие вопросы
Предмет: Окружающий мир, автор: Iliya0808777