Наскоро изправени такъв проблем:
Като се има предвид определено положително число, е необходимо да намерите всички делителите, различни от себе си.
Задачата е да се напише по-бързо алгоритъм е възможно, и разбира се
вярна.
Първата идея беше да се оправи по-малкия брой, проверка за делимост, но пълен
бюст даде широк обхват на приложение, трябва да решим един проблем, като например
, работа на алгоритъма за дълго време, след няколко модификации
Имам тук е такъв алгоритъм, горната граница за сложността в най-лошия случай.
Алгоритъмът запълва брой вектор detelyami.
невалидни find_divs (междинно съединение N, вектор
divs.push_back (1);
Мога ли по някакъв начин подобряване на алгоритъма? Или има по-бърз начин да се реши този проблем?
Re: Намиране на всички делителите на
Мога ли по някакъв начин подобряване на алгоритъма?
Първо трябва да го оправя. Уверете се, че можете да получите до 12 и 36.
Или има по-бърз начин да се реши този проблем?
Първо трябва да се разлагането на входните номерата в прости числа. След обхождане през всички комбинации от основните фактори.
Re: Намиране на всички делителите на
Първо трябва да го оправя. Уверете се, че можете да получите до 12 и 36.
Да, алгоритъмът не работи правилно). Мисля, че това е правилно:
невалидни find_divs (междинно съединение N, вектор
divs.push_back (1);
Първо трябва да се разлагането на входните номерата в прости числа. След обхождане през всички комбинации от основните фактори.
Да, имаше такава идея, за грубите комбинации сили ще отидат някъде повторения, тъй като в този случай, за да се оцени сложността на алгоритъма? Има ли някаква формула за изчисляване на броя на основните фактори на номера. Или най-малкото, че е необходимо да се изчисли горната граница, т.е. Намерете номера, който може да се разшири до максималния брой на основните фактори.
Свързани статии