Арифметическая задача выводит неправильный результат - C#
Формулировка задачи:
есть скажем выражение double a = -(((0.8 / 2) * ((4.0 - 1) / 4.0)) + 0.0) + 0.3;
логически ответ должен получиться как a = -0.3 + 0.3 = 0
но выполняя данное действие в программе ответ получается a = 5.5...
может кто дать ответ почему так и как решить данную проблему? реальное выражение выглядит так:
в качестве примера представлены уже заполненные переменные, в ходе которых и получается неправильный ответ
for (int i = 1; i <= N; i++) { mass[i] = -(((A / 2) * ((i - 1) / N)) + K) + MIN; }
Решение задачи: «Арифметическая задача выводит неправильный результат»
textual
Листинг программы
static double UM_ESA(double N, double A, double K, double MIN) { var x1 = A / 2; //0.4 var x2 = (4 - 1) / N; //0.75 var x3 = x1 * x2 + K; //0.30000000000000004 var x4 = -x3 + MIN; //-0.000000000000000055511151231257827 double mass = -(((A / 2) * ((4 - 1) / N)) + K) + MIN; return mass; } static void Main() { Console.WriteLine(UM_ESA(4, 0.8, 0, 0.3)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д