python最大公约数
1. 怎么用递归实现求最大公约数(python)
def gcd(a, b):
if a % b == 0:
return b
else:
return gcd(b, a % b)
2. Python 求2~4个数的最大公约数
defGreatCommonDiv(numbers):
mx=rece(lambdax,y:max(x,y),numbers)
whileTrue:
flag=True
fornumberinnumbers:
ifnumber%mx!=0:
flag=False
break
ifflag==True:
returnmx
mx-=1
if__name__=="__main__":
#测试
print(GreatCommonDiv([1,2,3,4,5]))
print(GreatCommonDiv([12,24,18,8]))
print(GreatCommonDiv([128,256,192]))
#测试结回果答
#1
#2
#64
3. python 递归算法算最大公约数
设计的逻辑就有问题,find就该做find的事,不要在find里有输出
#yourcodegoeshere
defGCD():
b=input("pleaseenterthefirstnumber")
c=input("pleaseenterthesecondnumber")
printfind(b,c)
deffind(b,c):
ifb>c:
d=b%c
b=c
ifd==0:
returnb
c=d
find(b,c)
else:
e=c%b
c=b
ife==0:
returnc
b=e
find(b,c)
#printfind(b,c)
defsimp_find(b,c):
ifb%c!=0:
returnsimp_find(c,b%c)
returnc
GCD()
4. python 求最大公约数
最大公约数这个我不懂,你还是上网上搜一搜吧!
5. Python任意输入两个数,求两个数的最大公约数(最大公约数条件是公约数
# 定义一个函数
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))
6. python中求最大公约数
就是y 非0的时候一直做
你也可以写成 y != 0
我也建议你写成 y!= 0
这样程序的可读性更好
7. python求最大公约数
要是我真想说没法打,一个一个答案不能完全统一,要求都一样吵。
8. 最大公约数python代码
嗯嗯最大的公约数匹配的代码应该是从他的技术开始算起,然后通过共计数额进行解答。
9. Python怎样求得最大公约数
核心代码很简单:
def gcd(a, b):
if b == 0:return a
return gcd(b, a % b)
附上一个用Python实现求最大公约数同时判断是否是素数的一般方法:
程序如下:
#!/usr/bin/env python
def showMaxFactor(num):
count = num / 2
while count > 1:
if num % count == 0:
print 'largest factor of %d is %d' % (num, count)
break #break跳出时会跳出下面的else语句
count -= 1
else:
print num, "is prime"
for eachNum in range(10,21):
showMaxFactor(eachNum)
输出如下:
largest factor of 10 is 5
11 is prime
largest factor of 12 is 6
13 is prime
largest factor of 14 is 7
largest factor of 15 is 5
largest factor of 16 is 8
17 is prime
largest factor of 18 is 9
19 is prime
largest factor of 20 is 10
10. python求最大公约数和最小公倍数
a,b=map(int,input().split())
a1,b1=a,b
res=a1%b1
whileres!=0:
a1=b1
b1=res
res=a1%b1
print(str(b1)+''+str(a*b/b1))#前面最大公约数,后面最小回公倍答