寒假集训附加题目题解报告(5)——求e

http://acm.sdut.edu.cn:8080/judge/contest/view.action?cid=5#problem/D

打表吧骚年!

#include<stdio.h>
int main()
{
    printf("n e\n- -----------\n0 1\n1 2\n2 2.5\n3 2.666666667\n4 2.708333333\n5 2.716666667\n6 2.718055556\n7 2.718253968\n8 2.718278770\n9 2.718281526\n");
}

当然了,正统的做法如下:

#include "iostream"
#include "cstdio"
#include "cstdlib"
#include "iomanip"
using namespace std;
double fac(int i)
{
    int ans=1;
    if(0==i)
    {
        return 1;
    }
    else if(0!=i)
    {
        for(int k=1;k<=i;k++)
            {
                ans=ans*k*1.0;
            }
    return ans;
    }
}
int main()
{
    double ans;
    cout<<"n e"<<endl;//猥琐!
    cout<<"- -----------"<<endl;
    cout<<"0 1"<<endl;
    cout<<"1 2"<<endl;
    cout<<"2 2.5"<<endl;
    for(int i=0;i<=8;i++)
    {
        ans+=1/(fac(i));
        if(i>=3&&i<=7)//被卡在这里。。。
        {
        cout<<i<<" "<<fixed<<setprecision(9)<<ans<<endl;
        }
        else if(i==8)
        cout<<i<<" "<<fixed<<setprecision(9)<<ans;
    }
}


你可能感兴趣的:(ACM题解报告)