http://qs1969.pair.com?node_id=482052


in reply to Re^2: Algorithm for cancelling common factors between two lists of multiplicands
in thread Algorithm for cancelling common factors between two lists of multiplicands

Update I wrote this when we were trying to figure out the exact output. Not relevant anymore

ikegami,

Your first should work correctly. Did not read the second one yet. One thing you want to note when you test this code is that the result will not match exactly what BrowserUk had coz the cancellation process is kind of subjective when done by humans as opposed to computers

take for example if i have 15 * 3 * 12 / 9 * 17

then I could either do 5 * 12/17 or 15 * 4/17

I guess the final solution should match product of the elements in the array

Another thing, you might get a tiny little benefit if you check for the elements == 1 inside the loop construct and pop them out. I am not sure if that is even possible.

BTW, i think you can add next if $c == 1 or $d == 1; to avoid computing gcd's on 1's.

-SK