#32240: 判別式(c++)


yp11051259@yphs.tp.edu.tw (906-45 蔡尚恩)

學校 : 臺北市私立延平高級中學
編號 : 159733
來源 : [203.72.178.2]
最後登入時間 :
2024-01-02 09:20:42
a006. 一元二次方程式 | From: [123.0.33.57] | 發表日期 : 2022-09-24 17:59

#include<iostream>
#include<math.h>
using namespace std;

int main(){
    int a, b, c;    //三項係數
    int x1, x2;    //方程式的根
    while(cin>>a>>b>>c){
        if(b*b-4*a*c<0){    //判別式小於零 b2-4ac<0

            cout<<"No real root\n";
            continue;
        }
        if(b*b-4*a*c==0){    //判別式等於零 b2-4ac=0
            cout<<"Two same roots x="<<-b/(2*a)<<"\n";
            continue;
        }
        x1=(sqrt(b*b-4*a*c)-b)/(2*a);
        x2=-(sqrt(b*b-4*a*c)+b)/(2*a);
        cout<<"Two different roots x1="<<x1<<" , x2="<<x2<<"\n";    //判別式大於零 b2-4ac>0
    }
    return 0;
}

/*

利用到在<math.h>裡的sqrt()

連結:https://cplusplus.com/reference/cmath/sqrt/

*/

 
ZeroJudge Forum