首页 > 编程知识 正文

使用阶乘求自然对数e,java求阶乘和数

时间:2023-05-05 07:53:30 阅读:256151 作者:1089

问题:分别用方法递归和循环求一个数的阶乘,并调用此方法求自然对数e的值
e = 1 + 1/2! +1/3! +1/4! +…

public class factorial1{public static int factorial1(int n){if (n==0||n==1){return 1;}return factorial1(n-1)*n;}public static int factorial2(int n){int fact = 1;for (int i = 1;i <=n; i++){fact = fact * i;}return fact;}public static double calcE(double precision){double e = 1;int n = 1;while(true){double item = 1.0/factorial2(n++);e += item;if(item < precision){break;}}return e;}public static void main (String[] args){int n =12;int fact1 =factorial1(n);System.out.printf("%d%n",fact1);int fact2 =factorial2(n);System.out.printf("%d%n",fact2);double e = calcE(0.0000000001);System.out.printf("%f",e);}}

结果如下图:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。