Точность 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];