Python 求2~4个数的最大公约数
可以不是2-4个数而是多个数的最大公约数,但是不能只求两个数的最大公约数。最好用穷举法。谢谢各位。...
可以不是2-4个数而是多个数的最大公约数,但是不能只求两个数的最大公约数。最好用穷举法。谢谢各位。
展开
3个回答
展开全部
def GreatCommonDiv(numbers):
mx = reduce(lambda x, y: max(x, y), numbers)
while True:
flag = True
for number in numbers:
if number % mx != 0:
flag = False
break
if flag == True:
return mx
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PrivateSubCommand1_Click() DimSAsLong S=YueOrBei(24,32) MsgBox"24和32的最大公约数是:"&S,vbInformation S=YueOrBei(24,32,True) MsgBox"24和32的最小公倍数是:"&S,vbInformation EndSub PrivateFunctionYueOrBei(J1AsLong,J2AsLong,OptionalIsBeiAsBoolean)AsLong'IsBei=True返回公倍数(最小),否则返回公约数(最大) DimSAsLong,S1AsLong,S2AsLong S1=J1:S2=J2 Do S=S1ModS2 IfS=0ThenYueOrBei=S2:ExitDo S1=S2:S2=S Loop IfIsBeiThenYueOrBei=J1*J2/YueOrBei EndFunction另一种方法 PrivateSubForm_Click() m1=InputBox("输入m") n1=InputBox("输入n") Ifm1>n1Then'为了求最小公倍数,增加m,n变量 m=m1:n=n1 Else m=n1:n=m1 EndIf'm>n r=mModn DoWhiler>0 m=n n=r r=mModn Loop Printm1;",";n1;"的最大约数为";n Print"最小公倍数=",m1*n1/n EndSub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询