python函数约数,python求最大公约数的函数

python入门求约数问题

def showMaxFactor(num):

站在用户的角度思考问题,与客户深入沟通,找到柯城网站设计与柯城网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名雅安服务器托管、企业邮箱。业务覆盖柯城地区。

----count = num//2

----while count 1:

--------if num % count ==0:

------------print('%d最大的约数是%d'%(num,count))

------------break

--------else:

------------count -=1

----else:

------------print('%d是素数'%num)

num= int(input('请输入一个数:'))

showMaxFactor(num)

算法应该是上面这个,你的漏掉一个else

count = num//2 这个是整除,得到的是num除以2的整数部分,和count = num/2不同(25//2=12,25/2=12.5)

这个算法属于暴力求解,先找到一个‘假设的最大公约数’count(整数),然后尝试num能不能整除count,如果能整除,那就是最大约数,如果不能count-1,继续尝试直到得到最大约数。因为2是除了1之外的最小素数,所以任何一个num的最大约数都不可能超过num/2,所以起始的count假设为num//2。当然你也可以假设为比num//2大的整数,只是会浪费计算而已。

用python计算最大公约数和最小公倍数

用python,语言计算最大公约数,效率比较高的是采用欧几里德算法,即通过不断的取余数,辗转相除,当得到的余数为零时,除数就是两个数的最大公约数。把原先的两个数相乘得到的积,再除以最大约数,就是最小公倍数了。

python设计递归函数,求两个数的最大公约数

def common_data(a, b, sub_common):

if sub_common == 1:

return sub_common

else:

k1 = a % sub_common

k2 = b % sub_common

if k1 == k2 == 0:

return sub_common

else:

sub_common = sub_common - 1

return common_data(a, b, sub_common)

上面就是定义了一个递归函数求最大公约数

a = 16

b = 12

c = common_data(16,12,12) # 前两个参数就是需要求最大公约数的两个数,第三个参数就是那两个数中较小的那个数, 返回值就是最大公约数

python编写求最大公约数的函数

# 定义一个函数

def gcd(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 gcd

# 用户输入两个数字

num1 = int(input("输入第一个数字: "))

num2 = int(input("输入第二个数字: "))

print( num1,"和", num2,"的最大公约数为", gcd(num1, num2))

python求最大公约数

提到最大公约数,那么就不得不说什么是公约数,它是一个能被若干个整数同时均整除的整数。如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。对任意的若干个正整数,1总是它们的公因数。

举个例子:30和40的公约数有:1,2,5,10,那么10是这几个里面最大的,就是30和40的最大公约数。

python求最大公约数

1.python求最大公约数设计思路

给定两个数,从1开始尝试,步长为1逐渐递增,为了优化算法,只需要循环到两个数中最小的那个数就可以。所以,第一步就是计算出两个数中最小的数,然后利用for循环从1到最小的那个数进行枚举,如果该数能够同时被两个数整除,则记录下来,直到循环结束,最后,最大的这个就是最大公约数。

特别注意:这里会用到range函数,range(0,5)的结果为0,1,2,3,4注意是没有5的,因此在本例中循环时应该是从1到最小的那个数+1才对。

2.最大公约数的python实现

打开百度APP,查看更多高清图片

说明:在上面的代码中,我们会用到自定义函数的定义方法:def ,两个数的最小数的判断方法,for循环和枚举取值,整除取余,输入输出等内置函数。

python编写2个函数代码,实现求最小公倍数和最大公约数的功能

函数定义:

Common_multiple(number1, number2):  # 求两个数的最小公倍数

Maximum_common_divisor(*number):  # 求任意多个数的最小公倍数

Minimum_common_multiple(*number):  # 求任意多个数的最大公因数

程序缩进如下:

程序缩进

运行结果展示:

运行结果

函数具体代码:缩进版本点击自取

def Common_multiple(number1, number2):  # 求两个数的最小公倍数

while number1 % number2 != 0:

number1, number2 = number2, (number1 % number2)

return number2

def Maximum_common_divisor(*number):  # 求任意多个数的最小公倍数

while len(number) 1:

number = [Common_multiple(number[i], number[i+1]) for i in range(0, len(number)-1)]

return number[0]

def Minimum_common_multiple(*number):  # 求任意多个数的最大公因数

while len(number) 1:

number = [number[i]*number[i+1]/Common_multiple(number[i], number[i+1]) for i in range(0, len(number)-1)]

return number[0]


分享文章:python函数约数,python求最大公约数的函数
本文路径:http://pwwzsj.com/article/dsepgds.html