解题思路:调用max与min函数找出最大与最小的数 ,之后用辗转相除法进行计算

注意事项:要搞清楚参数的传递 

参考代码:

def gy(a,b):
   a = min(a, b)
   b = max(a, b)
   while a!=0:
        q=b%a#此处应当注意a,b谁在前谁在后
        b=a
        a=q
        return a

def gb(s,b):
   o=s//b
   return o
a,b=map(int,input().split())
s=a*b
b=gy(a,b)#这里再次对b进行赋值使b成为最大公约数
print(b)
print(gb(s,b))

改一下,今天发现有点bug,亦或者说是错的

def gy(a,b):
  m = min(a, b)
  n = max(a, b)
  while m!=0:
       q=n%m#此处应当注意a,b谁在前谁在后
       n=m
       m=q
  return n

def gb(s,b):
  o=s//b
  return o
a,b=map(int,input().split())
s=a*b
b=gy(a,b)#这里再次对b进行赋值使b成为最大公约数
print(b)
print(gb(s,b))

 

0.0分

0 人评分

  评论区

  • «
  • »