【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; } }