#18978: 我測試過了 提交卻只有20%?


nick26268@g.ncu.edu.tw (ちょう可愛いのゆんゆん)

學校 : 國立中央大學
編號 : 101151
來源 : [27.247.8.22]
最後登入時間 :
2021-07-21 19:02:30
a006. 一元二次方程式 | From: [110.28.200.68] | 發表日期 : 2019-08-21 14:17

import sys
for x in sys.stdin:
x = x.split()
a = int(x[0])
b = int(x[1])
c = int(x[2])
s = (b ** 2) - (4 * a * c)

if s >0:
x1 = (-b+s**0.5)/2*a
x2 = (-b-s**0.5)/2*a
print("Two different roots x1="+str(int(x1)) +" , x2="+str(int(x2)))
elif s ==0:
x = (-b+s**0.5)/2*a
print("Two same roots x="+str(int(x)))
else:
print("No real root")
 
 
求幫忙看哪裡有問題
 
#18979: Re:我測試過了 提交卻只有20%?


inversion (「我們所認識的可符香是個像天使的好女孩」之葉林 *Cries...)

學校 : 國立清華大學
編號 : 43537
來源 : [49.159.6.107]
最後登入時間 :
2022-05-28 19:29:12
a006. 一元二次方程式 | From: [49.158.83.43] | 發表日期 : 2019-08-21 17:02

import sys
for x in sys.stdin:
x = x.split()
a = int(x[0])
b = int(x[1])
c = int(x[2])
s = (b ** 2) - (4 * a * c)

if s >0:
x1 = (-b+s**0.5)/2*a
x2 = (-b-s**0.5)/2*a
print("Two different roots x1="+str(int(x1)) +" , x2="+str(int(x2)))
elif s ==0:
x = (-b+s**0.5)/2*a
print("Two same roots x="+str(int(x)))
else:
print("No real root")
 
 
求幫忙看哪裡有問題


藍色部分應為「/ (2 * a)」而非「/ 2 * a」。

因為是要除以 2a 而不是 除以 2 再乘以 a ,您原本的寫法會變成後者的結果。(運算規則是:先乘除後加減,由左至右運算)

以上。希望有幫到您的忙。

 

 
#18983: Re:我測試過了 提交卻只有20%?


nick26268@g.ncu.edu.tw (ちょう可愛いのゆんゆん)

學校 : 國立中央大學
編號 : 101151
來源 : [27.247.8.22]
最後登入時間 :
2021-07-21 19:02:30
a006. 一元二次方程式 | From: [27.247.227.229] | 發表日期 : 2019-08-21 23:47

import sys
for x in sys.stdin:
x = x.split()
a = int(x[0])
b = int(x[1])
c = int(x[2])
s = (b ** 2) - (4 * a * c)

if s >0:
x1 = (-b+s**0.5)/2*a
x2 = (-b-s**0.5)/2*a
print("Two different roots x1="+str(int(x1)) +" , x2="+str(int(x2)))
elif s ==0:
x = (-b+s**0.5)/2*a
print("Two same roots x="+str(int(x)))
else:
print("No real root")
 
 
求幫忙看哪裡有問題


藍色部分應為「/ (2 * a)」而非「/ 2 * a」。

因為是要除以 2a 而不是 除以 2 再乘以 a ,您原本的寫法會變成後者的結果。(運算規則是:先乘除後加減,由左至右運算)

以上。希望有幫到您的忙。

 


謝謝學長指導!XD

 
ZeroJudge Forum