Talk:Greatest common divisor
errors in programs
A few programs would attempt to divide by zero if the 2nd argument is 0 (zero).
In that special case, the absolute value of the first argument should be returned. -- Gerard Schildberger 15:39, 17 August 2012 (UTC)
- unless it is 0 --Walterpachl 12:40, 17 August 2012 (UTC)
The special case of gcd(0,0) is usually defined to be 0, but some authors consider it to be undefined. When implementing the REXX version 1 example, the first definition (equal to zero) was chosen. So, for that case, |0| = 0.
From the Wikipedia page: http://en.wikipedia.org/wiki/Greatest_common_divisor
It is useful to define gcd(0,0)=0 and lcm(0,0)=0 because then the natural numbers become a complete distributive lattice with gcd as meet and lcm as join operation.
-- Gerard Schildberger 16:10, 17 August 2012 (UTC)
A number of examples don't show the results if either argument is negative. -- Gerard Schildberger 15:39, 17 August 2012 (UTC)
REXX Version 1
These results seem to be wrong:
- the GCD of 14 and 0 and 7 is 14 should be 7
- the GCD of 0 and 7 is 0 should be 7
- the GCD of 0 and 0 is 0 should be ???
correct:
- the GCD of 7 and 0 is 7
--Walterpachl 12:06, 17 August 2012 (UTC)
PL/I
should return a positive integer
- and take care of gcd/0,0)
--Walterpachl 12:39, 17 August 2012 (UTC)