HDU 1012 u Calculate e

来源:互联网 发布:874是什么意思网络用语 编辑:程序博客网 时间:2024/06/10 18:52

u Calculate e

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 35702    Accepted Submission(s): 16097


Problem Description
A simple mathematical formula for e is



where n is allowed to go to infinity. This can actually yield very accurate approximations of e using relatively small values of n.
 

Output
Output the approximations of e generated by the above formula for the values of n from 0 to 9. The beginning of your output should appear similar to that shown below.
 

Sample Output
n e- -----------0 11 22 2.53 2.6666666674 2.708333333
#include<stdio.h>#include<stdlib.h>#include<string.h>int jiecheng(int n){    int i,s=1;    for(i=1;i<=n;i++)        s*=i;    return s;}int main(){    int jc[10],i,len,j;     double sum[10];    char x[15];    for(i=0;i<10;i++)    {        jc[i]=jiecheng(i);        if(i==0) sum[i]=(double)1/jc[i];        else        {            sum[i]=sum[i-1]+(double)1/jc[i];        }    }    printf("n e\n- -----------\n");    for(i=0;i<10;i++)    {            printf("%d ",i);        if(i<=2)        {            sprintf(x, "%.9f", sum[i]);             len=strlen(x);            for(j=len-1;j>=0;j--)            {                if(x[j]!='0'&&x[j]!='.') break;                else len--;            }            for(j=0;j<len;j++)                printf("%c",x[j]);        }        else printf("%.9f",sum[i]);        putchar('\n');    }    return 0;  } 


0 0
原创粉丝点击