重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
int gys(int m,int n)
创新互联是专业的平江网站建设公司,平江接单;提供网站设计制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行平江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
gys就是你任意定义的一个函数,只是用来存放m和n.
不知道神马叫辗转相除法,直接用for:
#python3
import re
inp = input('Please input two integers: ')
a, b = [int(i) for i in re.findall(r'\d+', inp)]
def gys(m, n):
if m == 1 or m == n:
return m
for i in range(min(m, n), 0, -1):
if m%i == 0 and n%i == 0:
return i
g = gys(a, b)
print('最大公约数: ', g)
print('最小公倍数: ', a*b//g)
$ python3 gys.py
Please input two integers: 99 36
最大公约数: 9
最小公倍数: 396
# 定义一个函数
def hcf(x, y):
"""该函数返回两个数的最大公约数"""
# 获取最小值
if x y:
smaller = y
else:
smaller = x
for i in range(1,smaller + 1):
if((x % i == 0) and (y % i == 0)):
hcf = i
return hcf
# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print( num1,"和", num2,"的最大公约数为", hcf(num1, num2))
def gys(x,y):
a,b=max(x,y),min(x,y)
c=a%b
if c==0:
return b
else:
return gys(b,c)
不知道行不行 你试试
void gys(int a,int b)
{
int i;
int min,max;
if(ab)
{
min=b;
max=a;
}
else
{
min=a;
max=b;
}
for(i=1;i=min/2;i++)
{
if(a%i==0b%i==0)
printf("%d ",i);
}
if(max%min==0)
printf("%d\n",min);
else
printf("\n");
}
具体逻辑记不清了,最大公约数,就是求最大能整除这两个正整数吧,大概时思路如下:
def fun_gys(x,y):
t = min(x,y)
for i in range(2, t+1):
if x%i==0 and y%i==0:
print(i)
print("end")
最小公倍数,最大是两个数的积,最小能同时整除这两个数的值,代码如下:
def fun_gbx(x,y):
t = min(x,y)
for i in range(t,x*y+1):
if i%x==0 and i%y==0:
print (i)
print(end)
没有调试运行,思路就是这样的,请关注我,学习交流更多关于python编程内容。