首页 > 代码库 > (HDU)1012 --u Calculate e(计算e)
(HDU)1012 --u Calculate e(计算e)
问题描述
e的一个简单的数学公式
其中n允许取无穷大, 这实际上可以使用相对小的n值产生非常准确的e近似值。
输出
输出由上述公式生成的e的近似值,n的值从0到9.输出的开头应该类似于下面显示的。
示例输出
n e
- -----------
0 1
1 2
2 2.5
3 2.666666667
4 2.708333333
1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 double fac(int x) 7 { 8 int f; 9 if(x==0||x==1) 10 { 11 f=1; 12 } 13 else 14 { 15 f=x*fac(x-1); 16 } 17 return(f); 18 } 19 20 double ans(int n) 21 { 22 int i; 23 double s=0; 24 for(i=0;i<=n;i++) 25 { 26 s+=1/(fac(i)); 27 } 28 return s; 29 } 30 31 int main() 32 { 33 34 int i; 35 printf("n e\n"); 36 printf("- -----------\n"); 37 printf("0 1\n"); 38 printf("1 2\n"); 39 printf("2 2.5\n"); 40 for(i=3;i<=9;i++) 41 printf("%d %.9lf\n",i,ans(i)); 42 return 0; 43 }
这题要注意的是n为0,1和3时候的精确度,分别输出。
(HDU)1012 --u Calculate e(计算e)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。