Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Matrix Formation

by CountZero (Bishop)
on Jun 17, 2003 at 19:35 UTC ( #266616=note: print w/replies, xml ) Need Help??

in reply to Matrix Formation

Some shortcuts:

  • Carefuly construct your list of dividers: there is no need to check division by a number higher than 1/2 of the largest formed number. This means that you first construct your list of formed numbers and then your list of dividers.
  • If one of the formed numbers is prime, all other formed numbers must be multiples of that prime number. Of course checking if a number is prime is very time-consuming, but if you check for a 3x3 matrix, the largest prime number should be less than 999/5 (since the smallest formed number is prime, the sixth number must be 5 x the smallest number). All prime numbers above that can be skipped. So by keeping a list of "forbidden prime numbers" you can avoid these.
  • You can also skip all multiples of 10 as common divisors, since all multiples of 10 end in (at least) one zero and this must mean that the formed number of the last column must start with a zero, which is not allowed.


"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://266616]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2020-12-04 04:41 GMT
Find Nodes?
    Voting Booth?
    How often do you use taint mode?

    Results (58 votes). Check out past polls.