tvirussust's blog

By tvirussust, history, 2 months ago, In English,

hi, i think all of divisors of n(1 to 10^18) with in 9 sec is quit immpossible. if any idea or solution.please share it :) thank you

 
 
 
 
  • Vote: I like it  
  • +7
  • Vote: I do not like it  

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Iterating from 1 to sqrt(n) and using divisor pairs will give you the answer. In 9 secs, I think you can do 10^9 operations, even with the constant of the modulo operation.

»
2 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Good day to you,

well firstly you can start with "Pollard Rho" (you will also need something like miller-rabin), which could factorize the number in O(N^(1/4)) [it is somehow long coding with many possible mistakes, but the core is not that bad].

As you have it, you can generate all divisors by "simple recursion" in O(#NUMBER_OF_DIVISORS)

Hope I guessed rightly what you asked for ^_^

Good Luck & Have nice day!!

  • »
    »
    2 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    thanks i got it...yeah there have some mistake.. for large number it's quite impossible there is no exact solution for this ques with 9 sec :) thank you :)

    • »
      »
      »
      2 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Well imho there is something more exact, but this is a lesser pain ^_^

      Also the probability is "soo big" you can treat is as exact :)

      Have nice day ^_^