【Java例题】3.6 计算arcsin(x)的值

6.使用泰勒展开式计算arcsin(x)的值。 arcsin(x)=x+x^3/(2*3)+1*3*x^5/(2*4*5)+...+ (2n)!*x^(2n+1)/(2^2n)*(n!)^2*(2n+1)), 其中,|x|<1,当通项|u|<10^(-8)时,输出计算结果。 这里的"^"表示乘方,"!"表示阶乘。

 

package chapter3;

import java.util.Scanner;

public class demo6 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		double x=sc.nextDouble();
		double sum=x;
		double ans;
		for(int i=1;i>0;i++) {
			//(2n)!*x^(2n+1)/(2^2n)*(n!)^2*(2n+1)),
			ans=jie(2*i)*Math.pow(x,2*i+1)/(Math.pow(2,2*i)*jie(i)*jie(i)*(2*i+1));
			if(Math.abs(ans)<=Math.pow(10,-8)) {
				break;
			}
			sum=sum+ans;
		}
		System.out.println(sum);
	}
	private static int jie(int a) {
		int jiec=1;
		for(int i=1;i<=a;i++) {
			jiec=jiec*i;
		}
		return jiec;
	}
}

 

  

 

posted @ 2019-04-17 15:37  海底淤泥  阅读(1815)  评论(0编辑  收藏  举报