using
System;
using
System.Collections.Generic;
class
GFG
{
private
struct
Pair
{
public
double
First;
public
double
Second;
public
Pair(
double
first,
double
second)
{
First = first;
Second = second;
}
}
private
static
void
ComplexRoot(
int
A,
int
B)
{
var
ans =
new
List<Pair>();
double
X1 = Math.Abs(Math.Sqrt((A + Math.Sqrt(A * A + B * B)) / 2));
double
Y1 = B / (2 * X1);
ans.Add(
new
Pair(X1, Y1));
double
X2 = -1 * X1;
double
Y2 = B / (2 * X2);
if
(X2 != 0)
{
ans.Add(
new
Pair(X2, Y2));
}
double
X3 = (A - Math.Sqrt(A * A + B * B)) / 2;
if
(X3 > 0)
{
X3 = Math.Abs(Math.Sqrt(X3));
double
Y3 = B / (2 * X3);
ans.Add(
new
Pair(X3, Y3));
double
X4 = -1 * X3;
double
Y4 = B / (2 * X4);
if
(X4 != 0)
{
ans.Add(
new
Pair(X4, Y4));
}
}
Console.WriteLine(
"The Square roots are: \n"
);
foreach
(
var
p
in
ans)
{
Console.Write($
"{p.First:0.000000}"
);
if
(p.Second > 0)
{
Console.Write(
"+"
);
}
if
(p.Second != 0)
{
Console.Write($
"{p.Second:0.000000} * i\n"
);
}
else
{
Console.WriteLine();
}
}
}
static
void
Main(
string
[] args)
{
int
A = 0, B = 1;
ComplexRoot(A, B);
}
}