Hi,

I once wrote an assembler program on an 2 MHz 8080A processor when it
was state of the art. And then sticked to highlevel programming. I tried
to grasp a little of the factoring assemblycode. I got the impression
that the code is like:


table:1,7,17,23,31,41,47,49,71,73,79,89,97,103,113,119


for number := first to last number in table do
  for factor := smallest to highest possible factor do
    result := Mersenne candidate divided by factor
      if result = number then factor found ; exit
  next factor
next number


While I would have expected the code


for factor := smallest to highest possible factor do
  result := Mersenne candidate divided by factor
  for number := first to last number in table do
    if result = number then factor found ; exit
   next number
next factor

to be faster. Of course it isn't, but why?

YotN,

Henk Stokhorst.

Reply via email to