本題要求兩個給定正整數的最大公約數和最小公倍數。輸入格式:輸入在一行中給出兩個正整數M和N(≤1000)。輸出格式:在一行中順序輸出M和N的最大公約數和最小公倍數,兩數字間以1空格分隔。代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-#定義求公約數的方法de... ...
本題要求兩個給定正整數的最大公約數和最小公倍數。
輸入格式:
輸入在一行中給出兩個正整數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就是最大公約數。
讀書和健身總有一個在路上