python 最小公倍数

最小公倍数

求解两个整数(不能是负数)的最小公倍数
方法一:穷举法

 1 def LCM(m, n):
 2
 3     if m*n == 0:
 4         return 0
 5     if m > n:
 6         lcm = m
 7     else:
 8         lcm = n
 9
10     while lcm%m or lcm%n:
11         lcm += 1
12
13     return lcm

方式二:公式lcm = a*b/gcd(a, b)

 1 def gcd(m,n):
 2
 3     if not n:
 4         return m
 5     else:
 6         return gcd(n, m%n)
 7
 8 def LCM(m, n):
 9
10     if m*n == 0:
11         return 0
12     return int(m*n/gcd(m, n))
13
14 if __name__ == ‘__main__‘:
15     a = int(input(‘Please input the first integers : ‘))
16     b = int(input(‘Please input the second integers : ‘))
17     result = LCM(a, b)
18     print(‘lcm = ‘, result)

				
时间: 2025-01-02 16:38:07

python 最小公倍数的相关文章

Python3 实例(三)

Python 十进制转二进制.八进制.十六进制 以下代码用于实现十进制转二进制.八进制.十六进制: 实例(Python 3.0+) -- coding: UTF-8 -- Filename : test.py author by : www.runoob.com 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec)print("转换为二进制为:", bin(dec))print(&qu

python核心编程第五章练习-5.11-最大公约数和最小公倍数

a.求两个数的最大公约数 def common_divisor(a, b): for i in range(1, min(a, b) + 1): if a % i == 0 and b % i ==0: m = i print ("The common divisor is %d" %m) 一开始对上面这段代码始终没理解,为什么得到是就仅仅是6,因为按照目测,1, 2, 3, 6均符合if的条件,应该都会打印出来. 讨教之后才知道是因为没有区分代码组,print()的位置决定了它最终打

Python基础之最大公约数与最小公倍数

a=int(raw_input('a'))b=int(raw_input('b'))su=[]if a>b:    smaller=b    else:    smaller=a   for i in range(1,smaller+1):    if a%i==0 and b%i==0:        su.append(i) l=len(su)p=su[l-1] print '最大公约数:',pprint '最小公倍数:',a*b/p

Python小代码_13_生成两个参数的最小公倍数和最大公因数

def demo(m, n): if m > n: m, n = n, m p = m * n while m != 0: r = n % m n = m m = r return (int(p / n), n) val = demo(20, 30) print('最小公倍数为:', val[0]) print('最大公因数为:', val[1]) #输出结果 #最小公倍数为: 60 #最大公因数为: 10 原文地址:https://www.cnblogs.com/chuangming/p/84

python输出最大公约数和最小公倍数

def myfun(): num1 = int(input('输入num1')) num2 = int(input('输入num2')) list1=[] for i in range(1, max(num1, num2)): if num1 % i == 0 and num2 % i == 0: list1.append(i) print('最大公约数:',max(list1) ) print('最小公倍数:',num1 * num2 // max(list1))myfun() 原文地址:ht

python 练习 7

#!/usr/bin/python # -*- coding: utf-8 -*- def gcd(x,y): #最大公因子 if x>y:x%=y while x: x,y=y%x,x return y def lcm(x,y): #最小公倍数 return x*y/gcd(x,y) def jhua(x): t=gcd(x[0],x[1]) return [x[0]/t,x[1]/t] def z42(): x,y=(120,36) print x,y,"的最小公倍数是",l

python习题练习(chapater 5 -- python核心编程)

更新中... #!/usr/bin/env python# coding: utf-8'for practise in chapater five' #定义一个函数,计算并返回两个数的乘机def product(a, b): return(a * b) #根据分数输出同学的评分成绩(A-F)def score(i): if (i > 90) & (i < 100):  return('A') elif (i > 80) & (i < 89):  return('B'

《Python核心编程》 第五章 数字 - 课后习题

课后习题  5-1 整形. 讲讲 Python 普通整型和长整型的区别. 答:普通整型是绝大多数现代系统都能识别的. Python的长整型类型能表达的数值仅仅与你机器支持的(虚拟)内存大小有关. 5-2 运算符 (a) 写一个函数,计算并返回两个数的乘积 (b) 写一段代码调用这个函数,并显示它的结果 答: def pro(a,b): p = a*b return p a = int(raw_input("a=")) b = int(raw_input("b="))

求最大公约数与最小公倍数and输出锥形图案

1:描述:用Python求两个数的最大公约数与最小公倍数.(注意输入的俩个数在正整数范围内) code(代码): a=eval(input('请输入第一个整数:')) b=eval(input('请输入第二个整数:')) c=1 d=a*b if(a<=0 or b<=0): print('输入有误') else: if(a<b): c=a a=b b=c while(c!=0): c=a-b if(c==0): break else: if(c>b): a=c else: a=b