本題要求兩個給定正整數的最大公約數和最小公倍數,
輸入格式:
輸入在一行中給出兩個正整數M和N(≤1000),
輸出格式:
在一行中順序輸出M和N的最大公約數和最小公倍數,兩數字間以1空格分隔,
代碼如下:
#!/usr/bin/python # -*- coding: utf-8 -*- #定義求公約數的方法 def gys(a,b): if a%b == 0: return b else: return gys(b,a%b) s = input().split() a = int(s[0]) b = int(s[1]) print("{:d} {:d}".format((gys(a,b)),a*b//(gys(a,b))))
這個程式簡單,主要是知道公約數和公倍數怎么得到,
最小公倍數:
最小公倍數=兩個證書的乘積除以最大公約數,
最大公約數:
有整數a b
1.如果a%b 取余等于0,則b就是最大公約數,
2.如果不等于0,那么就讓a=b,b=余數,再去做取余,
3.余數為0時,那個b就是最大公約數,
讀書和健身總有一個在路上
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/156501.html
標籤:Python
