プロが教えるわが家の防犯対策術!

二次方程式の解を求めるプログラムで虚数解の場合、a=0の場合、実数解の場合で求めるようにしているんですが、

#include <iostream>
#include <cmath>
using namespace std;

int main() {
double a,b,c;
cin >> a >> b >> c;

if(a==0) {
cout << (-c/b) << '\n';
}
else if((b*b-4*a*c)<0) {
cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n';
}
else {

次にcout が来るのは分かってるんですが、数学でこういう書き方しなし、ここから先の書き方が分からないんですが、どうやって書けばいいですか?
多分return 0;
}
のぞいてあと2行か1行だと思うんですが

A 回答 (2件)

>cout << (-b/2/a) << 'i' << sqrt(4*a*c-b*b)/2/a << '\n';



虚数解の場合をこのように書けるということは、解の公式自体はじゅうぶん理解されているのですね。
とすれば、当該公式の±の部分をばらして、別々に書くだけではないですか。
    • good
    • 0

重解になる場合と異なる 2実解になる場合とで表示を分ける必要はありますか?


本質的には「数学的に求める式」を書けばいいだけです.

この回答への補足

問題にそうやって書いてあるしそれでいいと思いますよ。最後の1行はどう入れればいいんですか

補足日時:2009/11/24 22:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!