某校2016专硕编程题-求e的值

网友投稿 645 2022-10-01

某校2016专硕编程题-求e的值

某校2016专硕编程题-求e的值

题目

编写程序,求e的值, e = 1+ 1/1! + 1/2! + 1/3! +… 最后一项的值小于1e-6。

Java实现

实现1

public static double findE(){ double e = 1; int n = 1; //1,2,3,4,... double k = 1; //第n项值 while (k > 1e-6){ //计算阶乘 int j = 1; for (int i = n; i > 1 ; i--) { j *= i; } k = 1/(double)j; e += k; n++; } return e; }

时间复杂度:O(n^2)空间复杂度:O(1)

实现2

public static double findE2(){ double e = 0; int n = 1; //1,2,3,4,... double k = 1; //第n项值 int a = 1; //分母阶乘的值 while (k > 1e-6){ e += k; a *= n; k = 1/(double)a; n++; } return e;}

时间复杂度:O(n)空间复杂度:O(1)

Go实现

func eValue() float64 { var n float64 = 1 var e float64 = 0 s:= 1 k := 1 for n > 1e-6 { n = 1/float64(k) e += n k *= s s++ } return e}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:公众号可以转移主体吗?(公众号主体变更除了迁移还有其他办法吗?)
下一篇:某校2017专硕编程题-出国留学的天数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~