逆战


私信TA

用户名:warrior666

访问量:1985

签 名:

等  级
排  名 2068
经  验 2476
参赛次数 1
文章发表 31
年  龄 0
在职情况 学生
学  校 黑龙江大学
专  业 计算机科学与技术

  自我简介:

追求:实力!实力!实力!

解题思路:写两个方法,一个用来计算阶乘,一个用来计算表达式每一项的和。

注意事项:fact()函数里面存阶乘的变量以及函数的返回值要设为long型,因为阶乘计算结果太大时,int型的溢出概率太大!

参考代码:

import java.util.Scanner;

public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//键入x,n
double x=scanner.nextDouble();
int n=scanner.nextInt();
//计算x的n次方
System.out.printf("%.4f",mult(x,n));
}
public static long fact(int n){
    long sum=1;
    for(int i=1;i<=n;i++){
        sum*=i;
    }

	    return sum;
}
public static double mult(double x,int n){
    double sum=0;
        for(int i=1,j=0;i<=n;i++,j++){
            sum+=Math.pow(-1,j)*Math.pow(x,i)/fact(i);
        }
        return sum;
}

}


 

0.0分

0 人评分

  评论区

  • «
  • »