python实现求两个数的最大公因数
题目要求:
编写函数,求两个数的最大公因数。编写主程序,输入两个整数,调用函数求最大公因数,在主程序中输出最大公因数。
代码:
'''
编写函数,求两个数的最大公因数。
编写主程序,输入两个整数,
调用函数求最大公因数,在主程序中输出最大公因数。
written by tyb
2020/10/20
references:
'''
def findFactor(x):list = []for i in range(1,x+1): #左闭右开if x%i == 0:list.append(i)return list
def findMax(list):num_max = list[0] #记录最大值for i in range(len(list)):if list[i] >= num_max:num_max = list[i]return num_max
def commonFactor(x,y):factors = [] #存储公因数list_x = findFactor(x)list_y = findFactor(y)print(list_x)print(list_y)for i in range(len(list_x)):for j in range(len(list_y)):if list_x[i] == list_y[j]:factors.append(list_x[i])if len(factors) != 0: #判读factors是否为空factor = findMax(factors)return factorelse:return -1 #表示没有公因数
if __name__ == '__main__':print("请输入两个整数,用空格隔开")num_list = [int(i) for i in input().split()]factor = commonFactor(num_list[0],num_list[1])#print(num_list[1])if factor != -1:print("这两个数的最大公因数为:",factor)else:print("这两个数没有最大公因数!")
python实现求两个数的最大公因数相关推荐
- 求两个数的最大公因数
这里提供两种方法:一种比较朴素,基本思想很简单就是按照从大到小的找能够匹配的因数,找到就返回:另一种是欧几里得算法,该算法的核心思想是,当前两个数的最大公因数的也是这两个数模的与其中一个元素的的最大公 ...
- python求两数最大公因数_使用辗转相除法求两个数的最大公因数(python实现)
数学背景: 整除的定义: 任给两个整数a,b,其中b≠0,如果存在一个整数q使得等式 a = bq 成立,我们就说是b整除a,记做b|a. 性质1:如果c|a,c|b,且对于任意的整数m,n,则有c| ...
- python辗转相除_使用辗转相除法求两个数的最大公因数(python实现)
数学背景: 整除的定义: 任给两个整数a,b,其中b≠0,如果存在一个整数q使得等式 a = bq 成立,我们就说是b整除a,记做b|a. 性质1:如果c|a,c|b,且对于任意的整数m,n,则有c| ...
- 【Java常用方法】求两个数的最大公因数、最小公倍数,两数是否互质
最大公因数 最好的办法就是gcd辗转相除法.有两种方式,一种是迭代,一种是递归. //迭代版本 int gcd(int a,int b){while(b!=0){int r=b;b=a%b;a=r;} ...
- 练习题007:求两个数的最大公因数和最小公倍数
C语言练习题目录索引 最大公约数:辗转相除法: 最小公倍数=两数之积 / 两者的最大公约数. #include <stdio.h> #include <windows.h>in ...
- 三种方法求两个数最大公因数
1.题目描述: 求两个正整数的最大公约数和最小公倍数. 基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出. 提高要求:1.三种以上算法解决两个正整数 ...
- c语言求两个数的最小公倍数辗转相除法,C语言辗转相除法求2个数的最小公约数...
辗转相除法最大的用途就是用来求两个数的最大公约数. 用(a,b)来表示a和b的最大公约数. 有定理: 已知a,b,c为正整数,若a除以b余c,则(a,b)=(b,c). (证明过程请参考其它资料) 例 ...
- 求N个数的最大公因数(算法)
在一般的程序设计书里面,都有关于求两个数的最大公因数的算法(或者叫做最大公约数).求两个数的最大公约数算法用的最多的是辗转相除法. 基本思路就是 getCommonMutiple(a,b){ //这 ...
- Python两种方式求多个数的最大公因数(HCF)和最小公倍数(LCM)
Python两种方式求多个数的最大公因数(HCF)和最小公倍数(LCM) 最大公因数 1. 列表排序 2. 将列表分为两部分 3. 求最大公因数的质因子 4. 得到结果 5. 完整程序 最小公倍数 另 ...
- python求两数最大公因数_Python求两个数的最大公约数
Python求两个数的最大公约数 一.求最大公约数算法: 1. 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B 2. 如果C等于0,则C就是整数A和整数B的最大公约数 3. ...
最新文章
- 二叉树中序遍历方法实现
- 中国程序员 VS 美国程序员,差距就在这五点
- 如何解决创建Account时的error message BP category 2 does not fit the data in category 1
- SpringBoot2.0之六 多环境配置
- spring+hibernate+mysql mvc 配置
- Subversion 安装文件及操作手册
- python中的树数据结构
- AD19生成PCB_在Altium中导入Cadence Allegro的PCB文件
- 计算机二级C语言怎么过
- 各点之间的最短距离——Java实现
- 推荐一个网站地图生成工具
- Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法
- Excel填充空白的单元格
- 显示商品分类列表页面
- 02_菜鸟也能懂的 - 音视频基础知识。
- Django基础-中文文档
- 大数据精细化运营产品解决方案
- SQL server 数据库单表查询前n%行
- java.lang.NoClassDefFoundError:无法初始化类XXX
- npm 报错 ERR Cannot read properties of null reading ‘package npm ERR A complete log of this run can