М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
vddrobysheva
vddrobysheva
12.06.2022 05:18 •  Информатика

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

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

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

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

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

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

Ввод
8
Вывод
2

👇
Ответ:
Lana0602
Lana0602
12.06.2022

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

4,4(60 оценок)
Открыть все ответы
Ответ:
CawaVlasov
CawaVlasov
12.06.2022

Объяснение:

1) четным. Функция a mod 2 возвращает остаток от деления числа а на 2.

Если остаток равен 0, то число а четное.

2) 20.

a = 100; b = 30; a = 100 - 3*30 = 10

c = b - a = 30 - 10 = 20

3) if переводится как если, и не только в условном операторе, а вообще по-английски.

4) (x=3) or (x=4).

Вообще-то любое из этих выражений может быть использовано, как условие.

Если нет проверки на равенство числу, то подразумевается проверка на равенство нулю.

Но, скорее всего, имеется ввиду именно это выражение.

5) if a<b then min := a; else min := b;

Ошибка: после min := a точка с запятой не нужна.

6) Условие: a < 17

7) Нет верного ответа, потому что не бывает треугольника с тремя прямыми углами.

8) Не могу ответить, потому что нет фрагмента программы.

4,6(21 оценок)
Ответ:
mrdaaly
mrdaaly
12.06.2022

Объяснение:

1) четным. Функция a mod 2 возвращает остаток от деления числа а на 2.

Если остаток равен 0, то число а четное.

2) 20.

a = 100; b = 30; a = 100 - 3*30 = 10

c = b - a = 30 - 10 = 20

3) if переводится как если, и не только в условном операторе, а вообще по-английски.

4) (x=3) or (x=4).

Вообще-то любое из этих выражений может быть использовано, как условие.

Если нет проверки на равенство числу, то подразумевается проверка на равенство нулю.

Но, скорее всего, имеется ввиду именно это выражение.

5) if a<b then min := a; else min := b;

Ошибка: после min := a точка с запятой не нужна.

6) Условие: a < 17

7) Нет верного ответа, потому что не бывает треугольника с тремя прямыми углами.

8) Не могу ответить, потому что нет фрагмента программы.

4,8(27 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ