すみません。Youtube動画で紹介されているのんの写経です。本家は、winformsもしくはwpfベースで実行してますが、こちらはコンソールです。あと
- 複素解になるときのことは弾いてます。
- 重解考慮してません。
int a = int.Parse(Console.ReadLine()!);
int b = int.Parse(Console.ReadLine()!);
int c = int.Parse(Console.ReadLine()!);
double d = System.Math.Sqrt(b*b-4*a*c);
double f=-(Single)b/(2*(Single)a);
if (b*b-4*a*c < 0) {
Console.WriteLine("複素になる");
} else {
Console.Write((f+(d/2/a)).ToString());
Console.Write(",");
Console.WriteLine((f-(d/2/a)).ToString());
}
実行のさいは、
dotnet run
2
-13
15
のように、してください。 $ax^2+bx+c=0$で、$(a,b,c)=(2,-13,15)$という対応関係です。
実行するとこたえが 5,1.5
みたいなかんじで出てきます。パチパチ
苦労した点
キャストしないとならないところで詰んだ。
System.Math.Sqrt
と長ったらしいのをなんとかしたい。
!
をアソコにつけないと、Nullがどうたらこうたら言われる。