#30190: C++、Python 寫法


leo277482@gmail.com (Yan Long Huang)

學校 : 不指定學校
編號 : 191205
來源 : [120.101.8.185]
最後登入時間 :
2022-05-18 14:11:20
a006. 一元二次方程式 | From: [120.101.8.185] | 發表日期 : 2022-05-06 05:17

以下C++ 和 Python 寫法參考...

<沒寫完請勿看解答,不看解答寫完你就成功了>

<沒寫完請勿看解答,不看解答寫完你就成功了>

<沒寫完請勿看解答,不看解答寫完你就成功了>

-----------------------------------------------------

 

C++:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
  float a,b,c,d;
  cin >> a >> b >> c;
  d = b*b-4*a*c; //Discriminant
  if(d > 0){
    int x1=(-b+sqrt(d))/(2*a);
    int x2=(-b-sqrt(d))/(2*a);
    cout << "Two different roots x1=" << x1 << " , x2=" << x2;
  }
  else if(d == 0){
    int x=-b/(2*a);
    cout << "Two same roots x=" << x?x:0;
  }
  else{
    cout << "No real root";
  }
}
 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

Python:

a,b,c=list(map(int,input().split()))
d = b*b-4*a*c; # Discriminant
if d > 0:
  x1=(-b+d**0.5)/(2*a);
  x2=(-b-d**0.5)/(2*a);
  print(f"Two different roots x1={int(x1)} , x2={int(x2)}")
elif d == 0:
  print(f"Two same roots x={int(-b/(2*a))}")
else:
  print("No real root")
 
ZeroJudge Forum