while a/b:
a,b=b,a/b
循环赋值的办法就是以t!=0为循环的条件,循环体就是交换a和b,b和t的值,然后给t重新赋值为a%b的值即可,代码如下:
参考链接:
https://jingyan.baidu.com/article/9f63fb91a49aa489400f0eb9.html
__name__ == '__main__' 到底是什么意思_车子 chezi的博客-CSDN博客_name==main
#求最大公约数
def GCD(a,b):
#https://jingyan.baidu.com/article/9f63fb91a49aa489400f0eb9.html
t=a%b
while t !=0:
a=b
b=t
t = a%b
return b
#求最小公倍数
def LCM(a,b):
return a*b/GCD(a,b)
#https://blog.csdn.net/longintchar/article/details/87120496
if __name__ == '__main__':
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
print(str(a)+"与"+str(b)+"的最大公约数是:"+str(GCD(a,b))+",最小公倍数是:"+str(LCM(a,b)))
#include<iostream>
using namespace std;
int main(){
int x;
int y;
int r;
int b;
cin>>x>>y;
int x1 = x;
int y1 = y;
if(x>y){
int t = x%y;
while(t!=0){
x = y;
y = t;
t = x%y;
}
if(t==0){
r = y;
}
b = x1*y1/r;
}else{
int t = y%x;
while(t!=0){
y = x;
x = t;
t = y%x;
}
if(t==0){
r = x;
}
b = x1*y1/r;
}
cout<<"最大公因数是:"<<r<<endl;
cout<<"最小公倍数是:"<<b<<endl;
}
有用的话记得采纳一下,谢谢
# 最大公约数
def gcd(a: int, b: int):
if b == 0:
return a
else:
return gcd(b, a % b)
# 最小公倍数 lowest common multiple(以最大公约数的结果为基础)
def lcm(a: int, b: int):
return int((a * b) / gcd(a, b))
a = int(input())
b = int(input())
print(f'最大公约数为{gcd(a, b)}, 最小公倍数为{lcm(a, b)}')