Python 最大公约数算法 - 菜鸟教程

文章推薦指數: 80 %
投票人數:10人

Python 最大公约数算法Python3 实例以下代码用于实现最大公约数算法: 实例(Python 3.0+) [mycode3 type='python'] # Filename : test.py # author by ... 菜鸟教程--学的不仅是技术,更是梦想! 首页 HTML CSS JavaScript Vue Bootstrap NodeJS jQuery Python Java C C++ C# Go SQL Linux 本地书签 首页 HTML CSS JS 本地书签 Search Python3教程 Python2教程 Vue3教程 vue2教程 Bootstrap3教程 Bootstrap4教程 Bootstrap5教程 Bootstrap2教程 Python3教程 Python3教程 Python3简介 Python3环境搭建 Python3VScode Python3基础语法 Python3基本数据类型 Python3解释器 Python3注释 Python3运算符 Python3数字(Number) Python3字符串 Python3列表 Python3元组 Python3字典 Python3集合 Python3编程第一步 Python3条件控制 Python3循环语句 Python3迭代器与生成器 Python3函数 Python3数据结构 Python3模块 Python3输入和输出 Python3File Python3OS Python3错误和异常 Python3面向对象 Python3命名空间/作用域 Python3标准库概览 Python3实例 Python测验 Python3高级教程 Python3正则表达式 Python3CGI编程 Python3MySQL(mysql-connector) Python3MySQL(PyMySQL) Python3网络编程 Python3SMTP发送邮件 Python3多线程 Python3XML解析 Python3JSON Python3日期和时间 Python3内置函数 Python3MongoDB Python3urllib PythonuWSGI安装配置 Python3pip PythonASCII码与字符相互转换 Python最小公倍数算法 Python最大公约数算法 Python3实例 以下代码用于实现最大公约数算法: 实例(Python3.0+) #Filename:test.py #authorby:www.runoob.com #定义一个函数 defhcf(x,y): """该函数返回两个数的最大公约数""" #获取最小值 ifx>y: smaller=y else: smaller=x foriinrange(1,smaller+1): if((x%i==0)and(y%i==0)): hcf=i returnhcf #用户输入两个数字 num1=int(input("输入第一个数字:")) num2=int(input("输入第二个数字:")) print(num1,"和",num2,"的最大公约数为",hcf(num1,num2)) 执行以上代码输出结果为: 输入第一个数字:54 输入第二个数字:24 54和24的最大公约数为6 Python3实例 PythonASCII码与字符相互转换 Python最小公倍数算法 13篇笔记 写笔记 #0   HaydnLiao  Hay***[email protected]可按以下思路减少循环次数:1.当最小值为最大公约数时,直接返回;2.当最小值不为最大公约数时,最大公约数不会大于最小值的1/2;3.求最大公约数理应从大到小循环递减求最大。

实例:defgcd(a,b): ifb>a: a,b=b,a#b为最小值 ifa%b==0: returnb#判断b是否为最大公约数 foriinrange(b//2+1,1,-1):#倒序求最大公约数更合理 ifb%i==0anda%i==0: returni return0 while(True): a=int(input("Input'a':")) b=int(input("Input'b':")) print(gcd(a,b))HaydnLiao   HaydnLiao  Hay***[email protected]年前(2017-07-02) #0   Joshua  cos***[email protected]参考方法: defgcd(x,y):#veryfast returnxify==0elsegcd(y,x%y) print(gcd(378,5940))#result:54Joshua   Joshua  cos***[email protected]年前(2017-07-19) #0   thinrock  thi***[email protected]参考方法: x=int(input('请输入第一个数:')) y=int(input('请输入第二个数:')) foriinrange(1,min(x,y)+1): if(y%i==0)&(x%i==0): divisor=i print(divisor)thinrock   thinrock  thi***[email protected]年前(2017-08-17) #0   Santana  378***[email protected]从大到小一个一个计算: n1=int(input("inputanumber:")) n2=int(input("inputanothernumber:")) ifn1d: b=d else: b=c print('{}和{}的最大公约数为:{}'.format(c,d,gcd(c,d)))桃之夭夭   桃之夭夭  956***[email protected]年前(2018-06-28) #0   Egg_Hu  799***[email protected]不能再精简了吧 #辗转相除法(不用判断大小) deff1(a,b): whileb!=0: a,b=b,a%b print(a) f1(27,6) #相减法 deff2(a,b): whilea!=b: a,b=min(a,b),abs(a-b) print(a) f2(27,6) Egg_Hu   Egg_Hu  799***[email protected]年前(2018-07-24) #0   The_Matrix  995***[email protected]求多个数的最大公约数 num=str(input('输入要检测的数字(如:5,25,75):')).split(',') ss,kk,ee=[],[],[] foriinnum: ss.append(int(i))#将输入的数字存入列表 forjinss: forminrange(1,1+max(ss)): if(j%m==0): kk.append(m)#求出输入的每一个数字的约数,并将其存入列表 forqinkk: if(kk.count(q)==len(ss)): ee.append(q)#将所有的公约数存入列表 print(ee) print('{}的最大公约数为:{}'.format(ss,max(ee)))#输出最大公约数 测试结果: 输入要检测的数字:5,25,75 [1,5,1,5,1,5] [5,25,75]的最大公约数为:5 The_Matrix   The_Matrix  995***[email protected]年前(2018-08-01) #0   Alex  934***[email protected]使用math模块的gcd()。

importmath a=54 b=24 print(math.gcd(a,b)) 输出结果为: 6Alex   Alex  934***[email protected]年前(2018-11-12) #0   慕容君少  shu***[email protected]参考方法:#没办法,就喜欢用filter,能用filter解决的,坚决不用循环,哇哈哈哈 whileTrue: try: n1=int(input('请输入第1个数字:')) n2=int(input('请输入第2个数字:')) L1=list(filter(lambdax:n1%x==0,range(1,n1))) L2=list(filter(lambdax:n2%x==0,range(1,n2))) L=list(filter(lambdax:xinL2,L1)) print('{0}共有{1}个公约数,分别为{2},最大公约数为{3}'.format((n1,n2),len(L),L,max(L))) break exceptValueError: print('输入正整数')慕容君少   慕容君少  shu***[email protected]年前(2018-11-22) #0   favourite45  jas***[email protected]用空列表方式实现最大公约数: '''最大公约数''' defhcf(x,y): list=[]#初始化一个空列表 foriinrange(1,min(x,y)+1): if(x%i==0)&(y%i==0): list.append(i)#将符合的值加到列表中 print(max(list))#求列表中最大值,有内置函数 hcf(18,12)favourite45   favourite45  jas***[email protected]年前(2019-07-14) #0   白云黑土  mr.***[email protected]求两个数的所有公约数: list=[] defhec(x,y): value=max(x,y) foriinrange(1,value+1): if((x%i==0)and(y%i==0)): list.append(i) num1=int(input("Pleaseinputthefirstnumber:")) num2=int(input("Pleaseinputthesecendnumber:")) hec(num1,num2) print(num1,"and",num2,"ofMaximumcommondivisoris:",list)白云黑土   白云黑土  mr.***[email protected]年前(2019-10-26) 点我分享笔记 取消 分享笔记 昵称昵称(必填) 邮箱邮箱(必填) 引用地址引用地址 分类导航 HTML/CSSHTML教程HTML5教程CSS教程CSS3教程Bootstrap3教程Bootstrap4教程Bootstrap5教程FontAwesome教程Foundation教程JavaScriptJavaScript教程HTMLDOM教程jQuery教程AngularJS教程AngularJS2教程Vue.js教程Vue3教程React教程TypeScript教程jQueryUI教程jQueryEasyUI教程Node.js教程AJAX教程JSON教程Echarts教程Highcharts教程Google地图教程服务端Python教程Python2.x教程Linux教程Docker教程Ruby教程Java教程C教程C++教程Perl教程Servlet教程JSP教程Lua教程Rust教程Scala教程Go教程PHP教程Django教程Zookeeper教程设计模式正则表达式Maven教程Verilog教程ASP教程AppML教程VBScript教程数据库SQL教程MySQL教程PostgreSQL教程SQLite教程MongoDB教程Redis教程Memcached教程数据分析Python教程NumPy教程Pandas教程Matplotlib教程Scipy教程R教程移动端Android教程Swift教程jQueryMobile教程ionic教程Kotlin教程XML教程XML教程DTD教程XMLDOM教程XSLT教程XPath教程XQuery教程XLink教程XPointer教程XMLSchema教程XSL-FO教程SVG教程ASP.NETASP.NET教程C#教程WebPages教程Razor教程MVC教程WebForms教程WebServiceWebService教程WSDL教程SOAP教程RSS教程RDF教程开发工具Eclipse教程Git教程Svn教程Markdown教程网站建设HTTP教程网站建设指南浏览器信息网站主机教程TCP/IP教程W3C教程网站品质 Advertisement 反馈/建议 在线实例 ·HTML实例 ·CSS实例 ·JavaScript实例 ·Ajax实例 ·jQuery实例 ·XML实例 ·Java实例 字符集&工具 ·HTML字符集设置 ·HTMLASCII字符集 ·HTMLISO-8859-1 ·HTML实体符号 ·HTML拾色器 ·JSON格式化工具 最新更新 · Vue3创建项目 · HTML国家/地区... · HTML



請為這篇文章評分?