#25680: NA80%


lazychildrenqq@gmail.com (children lazy)


最後一個測試系統顯示 我的答案是-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 (Мигает cf4?)


不只這樣喔

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

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

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