#22963: c++哪裡錯誤


a0907944639@gmail.com (張育瑄)

學校 : 國立東石高級中學
編號 : 128253
來源 : [36.236.59.30]
最後登入時間 :
2021-02-17 11:00:50
a006. 一元二次方程式 | From: [61.222.252.31] | 發表日期 : 2020-10-14 11:39

#include <iostream>

#include <cmath>

using namespace std;

 

int main(){

    int a,b,c;

while(cin>>a>>b>>c){

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

    int x1=(-b+i)/2*a;

    int x2=(-b-i)/2*a;

    int x3=-b/2*a;

    if(i>0){

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

    }

    else if(i==0){

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

    }

    else{

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

    }

}

return 0;

}

    

   

 
#22964: Re:c++哪裡錯誤


a0907944639@gmail.com (張育瑄)

學校 : 國立東石高級中學
編號 : 128253
來源 : [36.236.59.30]
最後登入時間 :
2021-02-17 11:00:50
a006. 一元二次方程式 | From: [61.222.252.31] | 發表日期 : 2020-10-14 11:53

#include

#include

using namespace std;

 

int main(){

    int a,b,c;

while(cin>>a>>b>>c){

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

    int x1=(-b+i)/2*a;

    int x2=(-b-i)/2*a;

    int x3=-b/2*a;

    if(i>0){

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

    }

    else if(i==0){

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

    }

    else{

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

    }

}

return 0;

}

    

   

您的答案為: Two same roots x=-4
正確答案為: Two same roots x=-1
這是系統的答案

 

 
#22965: Re:c++哪裡錯誤


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a006. 一元二次方程式 | From: [218.164.119.21] | 發表日期 : 2020-10-14 14:35

int x1=(-b+i)/2*a;
int x2=(-b-i)/2*a;

(-b+i)/2*a 意同
應寫成 (-b+i)/(2*a)

 
#23076: Re:c++哪裡錯誤


a0907944639@gmail.com (張育瑄)

學校 : 國立東石高級中學
編號 : 128253
來源 : [36.236.59.30]
最後登入時間 :
2021-02-17 11:00:50
a006. 一元二次方程式 | From: [61.222.252.31] | 發表日期 : 2020-10-21 10:20

int x1=(-b+i)/2*a;
int x2=(-b-i)/2*a;

(-b+i)/2*a 意同
應寫成 (-b+i)/(2*a)

謝謝!!

 
ZeroJudge Forum