February 17th, 2013, 03:50 PM

Help Begginer in Assigment
Hello everyone,
I've assigment that requries a function to be created to find gcd of four numbers, you may see below for details
Using the pseudo code below (Euclid's algorithm) write a function gcd4 which finds the greatest common divisor of four positive integers.
function gcd(a, b)
while b ≠ 0
t := b
b := a mod t
a := t
return a
any hints that you give may help
thanks already
February 17th, 2013, 05:04 PM

What you have implemented so far in terms of python code for this problem?
February 17th, 2013, 05:07 PM

http://en.wikipedia.org/wiki/Greatest_common_divisor
Last edited by dariyoosh; February 17th, 2013 at 05:14 PM.
February 17th, 2013, 05:27 PM

Yes i need an actual Python code for implement i write it for 2 integers but things are getting complicated when integers came to 4
def gcd(a, b):
while b != 0 :
a, b = b, a%b
print a
February 17th, 2013, 06:24 PM

First, change gcd to return the greatest common divisor rather than print it. Almost always better to return a value than print it. You can print it later. In this case it's necessary.
Code:
def gcd(a, b):
while b != 0 :
a, b = b, a%b
return a
Next, compute the gcd over a list of numbers as
Code:
import functools
functools.reduce(gcd, [24, 6, 60])
Computing in turn the gcd of 24 and 6 which is 6, then of 6 and 60 which is 6. Now you've got conceptually correct code for any size list.
[code]
Code tags[/code] are essential for python code and Makefiles!