次の式を使って自然対数の底の値を求めよ
1+Σ(1/i!) (1〜10まで)

やってみたのですが分かりません。
何がおかしいでしょうか?
#include <stdio.h>


main(){
int i,fact;
double j,e;

fact=1;
i=1;

while(i<=10){
fact=fact*i;
j=1/fact;
i=i+1;

}
e=1+j;



printf("e=%lf\n",e);
}