![]() |
|
![]() ![]() ![]() |
|
ma_lover |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 24.3.2007 Репутация: нет Всего: нет |
Подскажите пожалуйста какой-нибудь способ нахождения простых делителей числа N, пригодный для реализации в программе. Учитывая, что нет таблицы простых чисел и каждый раз N будет вводится новое.
|
|||
|
||||
HazzarD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.4.2007 Репутация: нет Всего: нет |
проверяй от 2 до n/2 на делимость. усовершенствование - если до sqrt(n) нет делителей - число простое.
а вообще неплохо было бы указывать входные данные (диапазон значений n)... |
|||
|
||||
Lomir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 30.1.2007 Где: Lithuania::Kaunas Репутация: нет Всего: 1 |
Поищи что нибуть по факторизации (если для больших чисел надо).
Вот самый простой алгоритм.
|
|||
|
||||
HazzarD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.4.2007 Репутация: нет Всего: нет |
у меня задача тоже есть про делители условие всей задачи по ходу решения возникла проблема - если есть массив степеней простых делителей некоего числа. как посчитать количество всех делителей этого числа, включая 1 и само число.
|
|||
|
||||
Lomir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 30.1.2007 Где: Lithuania::Kaunas Репутация: нет Всего: 1 |
Предположим число X имеет вид:
2^a * 3^b * 5^c *7^d.... Тогда число делителей равно: (a+1)*(b+1)*(c+1)*(d+1).... |
|||
|
||||
HazzarD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.4.2007 Репутация: нет Всего: нет |
а математический вывод этого?
|
|||
|
||||
Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 1 Всего: 50 |
![]() Предположим, у тебя есть число 2^a. Сколько у него делителей? Все делители: 2^0=1, 2^1=2, 2^2, 2^3, ... 2^(a-1), 2^a . Сколько их штук? Правильно, (a+1). И так далее. -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |