Точность double - C#
Формулировка задачи:
Всем доброго времени суток!
Недавно начал изучать С#, при решении простой задачи:
найти сумму 1/0!+1/1!+...+1/n!
возникает проблема с double.
почему то при i=2 и дальше dd принимает значение 0, т.е дробной части никакой не возникает.
С чем может быть вызванна эта проблема и как её можно решить?
Хелп плиз
static void Main(string[] args) { int n = 0; Console.WriteLine("Input n: "); String str = Console.ReadLine(); n = int.Parse(str); int fak = 1; int[] faki = new int[n]; for (int i = 0; i < n; i++) { if (i == 0) { fak = 1; faki[i] = fak; } else { fak = fak * i; faki[i] = fak; } Console.Write(" " + faki[i]); } double d = 0.000E + 0; for (int i = 0; i < n; i++) { double dd = 1 / faki[i]; d = d + dd; } Console.WriteLine(" Result is: "+ d); Console.ReadLine();
Решение задачи: «Точность double»
textual
Листинг программы
double dd = 1.0 / faki[i];
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д