#25680: NA80%


lazychildrenqq@gmail.com (children lazy)

School : No School
ID : 118769
IP address : [218.32.96.32]
Last Login :
2021-06-19 12:23:55
a006. 一元二次方程式 | From: [218.32.96.32] | Post Date : 2021-06-11 18:56

最後一個測試系統顯示 我的答案是-4正確答案為-1

但是我自己測試 我的答案為-1,找不出哪裡錯誤,請求指教。

from sys import stdin

T = stdin.readline().strip()
a,b,c = map(int,T.split())

pro = b*b - 4*a*c
if pro == 0:
    ans = pro
 
first = 1
while first <= pro : #尋找b平方-4ac開根號的解(ans)
    if pro%first == 0:
        if first*first ==pro:
            ans = first
    first +=1


if ans != None:
    n1 = int((-b+ans)/2*a)
    n2 = int((-b-ans)/2*a)
    if n1>n2:
        print("Two different roots x1=%d , x2=%d"%(n1,n2))
    elif n1 == n2:
        print("Two same roots x=%d"%n1)    
else:
    print("No real root")
 
 
#25718: Re:NA80%


hsugoya@gmail.com (#90611,cls)

School : 國立臺北科技大學
ID : 139476
IP address : [36.224.231.219]
Last Login :
2021-06-16 12:55:22
a006. 一元二次方程式 | From: [36.224.231.219] | Post Date : 2021-06-16 16:23

不只這樣喔

你的程式也沒辦法找出無實根(No real root)的情況

因為如果pro計算出來是負的話(判別式<0),ans就不會被賦予值

然後在這一行if ans != None:的時候就會出錯 NameError: name 'ans' is not defined

 

 

 

 

 

 

 
ZeroJudge Forum