2022年8月15日 星期一

Python a006: 一元二次方程式

a006: 一元二次方程式 

#a006: 一元二次方程式

'''

求一元二次方程式 ax2+bx+c=0 的根

輸入說明

每組輸入共一行,內含三個整數 a, b, c 以空白隔開。

輸出說明

Two different roots x1=?? , x2=??

Two same roots x=??

No real root

PS: 答案均為整數,若有兩個根則大者在前


範例輸入 #1

1 3 -10

範例輸出 #1

Two different roots x1=2 , x2=-5

'''

import math

a,b,c = map(int,input('輸入3個整數,分別為ax^2+bx+c的a,b,c,用空白分開 --->').split())

x=int (b*b-4*a*c)

if x>0 :

    y=math.sqrt(b*b-4*a*c)

    z=((-b+y)/(2*a))

    h=((-b-y)/(2*a))

    print ('Two different roots  x1= %.1f x2= %.1f' %(z,h))

elif (x==0):

    y=math.sqrt(b*b-4*a*c); 

    z=((-b+y)/(2*a));

    print('Two same roots  x=%.1f'  %(z))

else:

    print("No real root")



'''

int x=b*b-4*a*c;

if(x>0){

int y=sqrt(b*b-4*a*c); 

int z=((-b+y)/(2*a));

int h=((-b-y)/(2*a));

cout<<"Two different roots"<<" x1="<<z<<" , "<<"x2="<<h<<endl;

}

else if(x==0){

int y=sqrt(b*b-4*a*c); 

int z=((-b+y)/(2*a));

cout<<"Two same roots"<<" x="<<z<<endl;

}

else {

cout<<"No real root"<<endl;

 '''   


>>> %Run a006.py

輸入3個整數,分別為ax^2+bx+c的a,b,c,用空白分開 --->1 3 -10

Two different roots  x1= 2.0 x2= -5.0

>>> %Run a006.py

輸入3個整數,分別為ax^2+bx+c的a,b,c,用空白分開 --->1 1 1

No real root

>>> %Run a006.py

輸入3個整數,分別為ax^2+bx+c的a,b,c,用空白分開 --->2 0 0

Two same roots  x=0.0

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...