解题思路:调用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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论