/***************************************************************
累加(C語言)
AUTHOR:liuyongshui
DATE:********
***************************************************************/
/*
問題七: f=1!+1/2!+1/3!+1/4!+...+1/n!(n為一定大的數,太大了會溢出)
*/
#include <stdio.h>
void f(int m); //原函數聲明
int main()
{
int n;
printf("請輸入一個數(不能太大):");
scanf("%d", &n);
f(n); //把n帶入f()函數
return 0;
}
// f()函數定義
void f(int m)
{
int i;
int j;
int s=1;
double sum=0.0;
for(i=1; i<=m; i++)
{
for(j=1; j<=i; j++)
{
s*=j; //計算i!
}
sum+=1.0/s; //sum=sum+1.0/s;
s=1; //算完i!後,s賦值為1
}
printf("%lf\n", sum); //輸出結果
}