Python求两个或三个正整数的最大公约数和最小公倍数

您所在的位置:网站首页 for循环最小公倍数python Python求两个或三个正整数的最大公约数和最小公倍数

Python求两个或三个正整数的最大公约数和最小公倍数

2024-05-29 14:57| 来源: 网络整理| 查看: 265

题目:求两个正整数的最大公约数和最小公倍数。 基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出。 提高要求: 1.三种以上算法解决两个正整数最大公约数问题。 2.求3个正整数的最大公约数和最小公倍数。

源代码如下:

# 辗转相除法求最大公约数 # # a = int(input("请输入a的值:")) # b = int(input("请输入b的值:")) # c = 0 # if ab: # t = a # a = b # b = t # for n in range(1,a+1): # if a%n==0 and b%n==0: # i = [n] # i.sort() # m = i[-1] # print("a和b的最大公约数为:" + str(m)) # if m>c: # l = m # m = c # c = l # for n in range(1, m+1): # if m%n == 0 and c%n == 0: # p = [n] # p.sort() # print("a b c的最大公约数为:" + str(p[-1])) # # # 第一种求最小公倍数的方法 # 求三个数的最小公倍数,分别循环出三个数的倍数,在找出相同的数,放在数组中,输出最小值即可 # a = int(input("请输入a的值:")) # b = int(input("请输入b的值:")) # c = int(input("请输入c的值:")) # d = a * b * c # m = [] # n = [] # o = [] # for i in range(1, d + 1): # if i % a == 0: # m.append(i) # print("a的公倍数为:" + str(m)) # for j in range(1, d + 1): # if j % b == 0: # n.append(j) # print("b的公倍数为:" + str(n)) # for k in range(1, d + 1): # if k % c == 0: # o.append(k) # print("c的公倍数为:" + str(o)) # 三个数组中存放了abc的公倍数 # f = [] # for i in m: # if (i in n): # if (i in o): # f.append(i) # f.sort() # print("a b c 的所有公倍数为:" + str(f[0])) # 第二种求最小公倍数的方法 # 求三个数的最小公倍数,先设置一个number=1,循环判断number对abc取余,当余数同时为0,则跳出循环并输出number,否则继续循环number+=1 a = int(input("请输入a的值:")) b = int(input("请输入b的值:")) c = int(input("请输入c的值:")) number = 1 while True: if number%a==0 and number%b==0 and number%c==0: print("abc的最小公倍数为:" + str(number)) break else: number+=1

算法思路: 求两个整数的最大公约数的方法分别为: 1.算法思路:辗转相除法 2.算法思路:辗转相减法 3.算法思路:输入两个数字,循环出1到这两个数中最小值之间的数,当这个数能够同时被a和b整除时,将这些数保存在数组i[]中,使用sort()函数对数组i[]进行从小到大的排序,然后输出i[-1],即最大公约数

求三个正整数的最大公约数的方法: 1.算法思路:在上述方法3的基础上进行两两之间求最大公约数的计算

求三个正整数的最小公倍数的方法: 1.算法思路:先分别循环输出三个数的倍数,再找出这三个数组中相同的数,将这些数放在一个新的数组中,使用sort()排序后进行输出 2. 算法思路:先设置一个number=1,然后while True进行循环,判断number对abc取余,当它们的余数同时为0的时候break然后打印出number的数值,否则number+=1

求最大公约数的系统流程图为: 这里写图片描述 求最小公倍数的系统流程图为: 这里写图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3