Most Divisors | Algorithm Notes



Most Divisors | Algorithm Notes

Given an integer , you are asked to find an integer less than with most divisors. The least such number is asked to be return.

+

Divisors has two types: prime or not prime divisors. Total number of divisors is proportional to number of distinct divisors in . To solve this problem, at first we find as much as prime divisors less than . Then, based on this, we find as many as non prime divisors as possible.

+

To find prime divisors, we uses sieve methods. To pick as many as prime divisors possible, we apply greedy strategy. We always pick the most least prime divisors until the product of all these divisors is larger than . Then we start to find non-prime divisors. As any muliple of a prime number won't be prime, so we can choose to multiply one of our prime divisors to produce more divisor less than . We keep multiplying until the product exceed . Obviously, to be able to multiply as many times as possible, we need to muliple the least divisor. So greedy strategy again, we always pick multiple of as a non-prime divisor.


Read full article from Most Divisors | Algorithm Notes


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts