a024: 最大公因数(GCD)
这篇教学会示范 ZeroJudge 基础题库“a024: 最大公因数 ( GCD )”的解题过程。
题目需求
题目会给定两个整数,透过程序求出它们的最大公因数。
题目链接:a024: 最大公因数 ( GCD )
解答
参考“最大公因数 ( 多个数字 )”教学,使用辗转相除法,就能找出最大公因数。
while True:
try:
nums = [int(i) for i in input().split(' ')] # 將輸入的文字轉成數字串列
nums.sort() # 從小到大排序數字串列
result = nums[0] # 先設定最小值為最大公因數 result
while result!=1: # 如果 result 不等於 1,就不斷重複執行
r = nums[1]%result # 將第二個數字除以 result 算出餘數
if r !=0: # 如果有餘數
result = r # 將 result 設為餘數
nums.insert(0,r) # 將餘數放在串列的第一個項目,然後再來一次
else:
break # 如果餘數為 0,表示找到最大公因數,停止迴圈
print(result)
except:
break
微信扫码关注
抖音扫码关注