#15516: 檢測都對,為什麼上傳發生錯誤呢?


andy.ksp@gmail.com (KT)

學校 : 高雄巿瑞祥高級中學
編號 : 70967
來源 : [163.16.204.67]
最後登入時間 :
2023-01-16 15:47:01
a738. 最大公约数 -- 海豚原创 | From: [118.171.80.151] | 發表日期 : 2018-10-10 10:45

import sys
def gcd(a,b):
if a>b:
  while a%b>0:
    b = a%b
    a = b
  return b
elif b>a:
  while b%a>0:
    a = b%a
    b = a
  return a
else:
  return1
 
for n in sys.stdin:
  list01=n.split()
  if len(list01)==2:
    a = int(list01[0])
    b = int(list01[1])
  if (a > 0and a < 1000000000) and (b > 0and b < 1000000000) :
    print(gcd(a,b))
 
#15523: Re:檢測都對,為什麼上傳發生錯誤呢?


andy.ksp@gmail.com (KT)

學校 : 高雄巿瑞祥高級中學
編號 : 70967
來源 : [163.16.204.67]
最後登入時間 :
2023-01-16 15:47:01
a738. 最大公约数 -- 海豚原创 | From: [118.171.80.151] | 發表日期 : 2018-10-10 19:40

import sys
def gcd(a,b):
if a>b:
  while a%b>0:
    b = a%b
    a = b
  return b
elif b>a:
  while b%a>0:
    a = b%a
    b = a
  return a
else:
  return1
 
for n in sys.stdin:
  list01=n.split()
  if len(list01)==2:
    a = int(list01[0])
    b = int(list01[1])
  if (a > 0and a < 1000000000) and (b > 0and b < 1000000000) :
    print(gcd(a,b))


找到問題了,已經解決了

import sys
def gcd(a,b):
c=0
while(a%b!=0):
c = a % b
a = b
b = c
if c==0:
return b
else:
return c

for line in sys.stdin:
list01 = line.split()
if len(list01)==2:
a = int(list01[0])
b = int(list01[1])
if a > b:
print(gcd(a,b))
elif b > a:
print(gcd(b,a))
else:
print(gcd(a,b))
 
ZeroJudge Forum