python求兩個整數間的最小公倍數 最大公約數

2021-08-27 13:45:13 字數 1276 閱讀 8660

1。求最小公倍數

思路:首先比較兩個數的大小,找出大的那個數,再用大的那個數的倍數,從小到大,開始嘗試整除小一點的那個數,整除成功時大的那個數的倍數,就是兩個數的最小公倍數。

#**用於實現兩個整數間的最小公倍數演算法:

deffangfa

(a,b):

if a>b:

bigger=a

smaller=b

else:

bigger=b

smaller=a

i=1while

true:

if (bigger*i)%smaller==0: #如果大的那個數,一旦他的倍數能整除小的那個數,就直接跳出迴圈,他的倍數就是最小公倍數

print('最小公倍數為:',(bigger*i))

break

i+=1

if __name__ == '__main__':

a = int(input('請輸入第乙個數:'))

b = int(input('請輸入第二個數:'))

fangfa(a,b)

2。求最大公約數

思路:首先也是比較兩個整數之間的大小關係,找到比較小的那個數。然後開始取值(從1開始嘗試,到比較小的那個數結束),如果中間有個數恰好能把兩個整數整除,那麼y=那個數。中間可能有好幾個數都可以把兩個整數整除(公約數),但到取值結束,y中的值,必然是可以把兩個整數整除的那些數中,值最大的——-最大公約數

#該函式返回兩個整數的最大公約數""

deffangfa

(a,b):

if a>b:

smaller=b

else:

smaller=a

y=1#給出乙個預設值

for i in range(1,smaller+1): #range函式左閉右開

if (a%i==0) and (b%i==0): #如果是公約數,y等於公約數;然後如果再找到乙個更大的公約數,y被更大公約數覆蓋

y=i# break #如果加break就是遇到最小的公約數就跳出迴圈,展示出最小公約數

print('最大公約數為:',y)

if __name__ == '__main__':

a = int(input('請輸入第乙個整數:'))

b = int(input('請輸入第二個整數:'))

fangfa(a,b)

求兩個整數之和

這個比較簡單,先設定3個變數,x和y用來存放兩個整數,sum用來存放兩數之和,用賦值運算子 把相加的結果賦給sum 編寫程式 include 編譯預處理指令 int main 定義主函式 int x,y,sum 程式的宣告部分,定義3個整型變數,分別是x,y,sum printf 請輸入第乙個整數 ...

求兩個整數之和

寫乙個函式,求兩個整數之和,要求在函式體內不得使用 四則運算符號。publicclasssolution returnnum1 首先看十進位制是如何做的 5 7 12,三步走 第一步 相加各位的值,不算進製,得到2。第二步 計算進製值,得到10.如果這一步的進製值為0,那麼第一步得到的值就是最終結果...

求兩個整數的最小公倍數

求兩個整數的最小公倍數 假設兩個整數為x和y。演算法1 1 先求出x和y的最大公約數,並賦給變數r 2 x和y的最小公倍數即為 x y r 程式如下 int getm int x,int y 該方法需呼叫求最大公約數函式。演算法2 1 將兩數中較小的數放在x中,較大數儲存在y中。2 判斷y是否為x的...