HDU u Calculate e

来源:互联网 发布:广告配音软件 编辑:程序博客网 时间:2024/06/06 07:18

HDU u Calculate e

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1012
本题开始以为又是大数问题,结果只是输入输出的控制。实现使用一个阶乘函数即可,main函数中输出每一次叠加的结果即可,注意输出格式。

#include<stdio.h>#include<string.h>#include<string>#include<iostream>//#define LOCALusing namespace std;int factorial(int n){    if(n==0)        return 1;    else{        int sum=1;        for(int i=1;i<=n;i++)            sum*=i;        return sum;    }}int main(){    #ifdef LOCAL    freopen("input.txt","r",stdin);    #endif    printf("n e\n- -----------\n");    //printf("%.19lf\n",(double)1/10000000);    double sum=0;    for(int i=0;i<=9;i++){        sum+=(double)1/factorial(i);    //记得强制类型转换        if(i==1||i==0)                  //注意题目格式,            printf("%d %.0f\n",i,sum);  //0和1的时候输出只有整数部分,2的时候有一位        else if(i==2)                   //3以上输出9位            printf("%d %.1f\n",i,sum);        else if(i>=3)            printf("%d %.9f\n",i,sum);    }    return 0;}
0 0