📅  最后修改于: 2023-12-03 15:25:16.003000             🧑  作者: Mango
本篇文档介绍如何编写一个程序,以将两个给定数字除以它们的公因数。公因数是指两个或多个数共有的因数。例如,12和30的公因数是1、2、3和6。
首先,需要编写一个函数,以计算两个数字的公因数。我们可以使用欧几里得算法来完成这个任务。欧几里得算法是一个递归算法,其基本思想是将两个数字相除,将余数与除数相除,以此类推,直到余数为零。此时,上一个除数就是两个数字的最大公因数。
def gcd(a,b):
if(b==0):
return a
else:
return gcd(b,a%b)
接下来,需要编写一个函数,并调用上面的函数来计算两个数字的公因数。然后,将两个数字分别除以它们的最大公因数。
def reduce_fraction(numerator,denominator):
# Find greatest common divisor
gcd_val = gcd(numerator,denominator)
# Return reduced fraction
return (numerator//gcd_val, denominator//gcd_val)
最后,我们可以将这些函数组合在一起,以完成我们的任务。
def main():
numerator = 12
denominator = 30
reduced_numerator, reduced_denominator = reduce_fraction(numerator, denominator)
print(f"{numerator}/{denominator} = {reduced_numerator}/{reduced_denominator}")
if __name__ == "__main__":
main()
在本篇文档中,我们介绍了如何编写一个程序,以将两个给定数字除以它们的公因数。我们使用了欧几里得算法来计算两个数字的最大公因数,并编写了一个函数来将两个数字分别除以它们的最大公因数。最后,我们展示了如何调用这些函数来完成我们的任务。