В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Yuliaferyuo
Yuliaferyuo
01.11.2021 16:37 •  Информатика

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

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

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

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

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

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

Ввод
8
Вывод
2

Показать ответ
Ответ:
Alinalina080206
Alinalina080206
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).

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота