|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2019, 09:20 | #1 |
Новичок
Джуниор
Регистрация: 12.12.2019
Сообщений: 1
|
Степень вхождения числа в факториал. c++
Не могу сделать, на первый взгляд, простую задачку очень давно. Точнее решить могу, но не прохожу один из тестов по времени.
Пусть n – натуральное число. Обозначим как an максимальное натуральное число k, такое что nk – делитель n!. Например, a12 = 5, так как 125 = 248832 делит 12! = 479001600 (479001600/248832 = 1925), а 126 = 2985984 – не делит. Задано число n. Найдите an. Проверяю решение здесь https://acmp.ru/index.asp?main=task&id_task=978 Решить нужно именно на плюсах. #include <iostream> #include <cmath> using namespace std; int main() { int n,an=0, st = 0; cin >> n; int nn = n, k = 0; if (nn % 2 == 0){ while(nn % 2 == 0){ nn /= 2; } k = 2; } for(int i = 3; i <= nn; i+=2) { while (nn % i == 0) { nn = nn / i; } if(nn == 1) k = i; } nn = n; while(nn % k == 0){ st++; nn /= k; } while(n > 0){ n /= k; an = an + n; } cout << an / st ; return 0; } Это одно из моих решений, не проходит 9 тест. Может ли кто-нибудь подсказать более скоростной алгоритм? Спасибо) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[РЕШЕНО][Python] факториал, Фибоначчи: в ходе выполнения в цикле все последующие значения факториалов перемножаются с предыдущими, а хочу чтоб выводился факториал конкретного числа | Staniislav | Помощь студентам | 2 | 19.08.2017 23:57 |
Удалить из записи числа все вхождения последней цифры | Анатолий666 | Общие вопросы C/C++ | 1 | 16.09.2015 18:31 |
Вычислить факториал числа п. Факториал числа представить в виде целочисленного массива десятичных цифр. | M1kefly | Общие вопросы C/C++ | 1 | 07.07.2013 21:00 |
Факториал числа | Kazik | Помощь студентам | 1 | 07.05.2012 15:58 |
Факториал числа | ProgramerBeatz | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 11.05.2011 19:05 |