Знатоки c# подскажите, пожалуйста, в чем проблема.. Когда ввожу a = 1000 и b = 0,0001 выдаёт неправильный ответ (6250001), а программа в теории должна всегда выводить «1»...
В чем может быть подвох??
((a + b)^2 - (a^2 + 2ab)) / b^2
using System;
namespace Task3
{
class MainClass
{
public static void Main(string[] args)
{
float a, b;
bool ok;
do
{
Console.WriteLine("Enter the number 'a', using a comma for real");
string buf = Console.ReadLine();
ok = float.TryParse(buf, out a);
if (ok == false) Console.WriteLine("Error! Entering a number, please, thry again");
} while (ok == false);
do
{
Console.WriteLine("Enter the number 'b', using a comma for real");
string buf = Console.ReadLine();
ok = float.TryParse(buf, out b);
if (ok == false) Console.WriteLine("Error! Entering a number, please, thry again");
} while (ok == false);
if (b == 0) Console.WriteLine("Error!");
else
{
float c = (float)Math.Pow(a + b, 2);
float d = (float)Math.Pow(a, 2);
float e = (float)2 * a * b;
float f = (float)Math.Pow(b, 2);
float g = (float)(c - (d + e)) / f;
Console.WriteLine($"((a + b)^2 - (a^2 + 2ab)) / b^2 = {g}, a = {a}, b = {b}");
}
}
}
}