老醋花生3233 发表于 2015-7-14 10:53:40

在用辗转相除法求最大公约数是,不需要先判断xy的大小吗?

这个求最大公约数的程序不应该先判断x和y的大小吗?把大值附给x?
def gcd(x, y):
    while y:
      t = x % y
      x = y
      y = t

    return x
   
print(gcd(4, 6))

牡丹花下死做鬼 发表于 2015-7-14 11:37:52

你这个事C代码????

nin98 发表于 2015-7-14 13:27:48

你用小x的除以大的y,商是0,余数就是小的本身x,然后大的和小的交换位置
接下来才是求公约数 大的除以小的,小的保存到x,余数保存到y
然后一直除,直到x%y==0,x==最大公约数,y==0   ,返回x

无名侠 发表于 2015-7-14 14:59:50

def pf(n):
x = n
while x>0:
    if not(x%n):
      return x
x--
         
页: [1]
查看完整版本: 在用辗转相除法求最大公约数是,不需要先判断xy的大小吗?