0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 38
|
||||||
1 | ||||||
Найти минимальное число, факториал которого будет делиться на определенное число16.09.2016, 12:44. Показов 4680. Ответов 25
Метки нет (Все метки)
здравствуйте,есть задача, в ходе которой нужно найти минимальное число m, факториал которого будет делится на определенное число к.
т.е. если k = 6, m = 3; k = 10; m = 5; работа идет с числами от 810 000 000 до 820 000 000, нужна сумма всех чисел m для чисел этого промежутка. какой самый оптимальный вариант решения этой задачи? написал когда, но он слишком долго работает. Кликните здесь для просмотра всего текста
0
|
16.09.2016, 12:44 | |
Ответы с готовыми решениями:
25
Найти натуральное наименьшее число n, факториал которого превышает число 4000 Найти минимальное число, ктоторое больше 400 и нацело делиться на 16 Найти минимальное число большее введенного n, которые нацело делиться на 19. (while, repeat) Найти такое число в двоичной записи которого содержится минимальное число нулей |
Модератор
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,470
|
|||||||||||
20.09.2016, 17:53 | 21 | ||||||||||
Сообщение было отмечено sapbufer как решение
Решение
У меня получается 14144.
Вот простой вариант:
Цикл начинаем с 2, чтобы обработать все степени двойки. Его можно оптимизировать: 1. Начинать цикл в строке 12 с k = 2, а для k = 1 сразу добавлять count += maxpow - 3; 2. После этого цикл в строке 12 становится ненужным для n > sqrt(maxn) Вот оптимизированный вариант:
1
|
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 38
|
|
20.09.2016, 17:57 [ТС] | 22 |
Shamil1, у меня в первом варианте также получилось, хотел себя перепроверить, решив по-другому,видимо в алгоритме проблемы. Спасибо!
0
|
Модератор
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,470
|
||||||
21.09.2016, 11:44 | 23 | |||||
Обычно в таких случаях сначала пишут наиболее простое решение ("в лоб"). Например:
1
|
90 / 87 / 11
Регистрация: 20.11.2008
Сообщений: 724
|
||||||
21.09.2016, 16:20 | 24 | |||||
А я всё-таки попробовал подумать над GetK, но на скорости вычислений действительно не отражается
вот мой вариант
2
|
Модератор
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,470
|
||||||||||||||||
21.09.2016, 18:08 | 25 | |||||||||||||||
И можно не использовать списки:
(не тестировал)
1
|
90 / 87 / 11
Регистрация: 20.11.2008
Сообщений: 724
|
|
21.09.2016, 19:11 | 26 |
0
|
21.09.2016, 19:11 | |
21.09.2016, 19:11 | |
Помогаю со студенческими работами здесь
26
Найти такое число в двоичной записи которого содержится минимальное число нулей Найти вероятность того, что наугад взятое 5-значное число будет делиться на 39 Минимальное число которое делиться на 17 Факториал. Определить максимальное число, факториал которого хранится в переменной типа int Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |