题目
输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。
x - x2/2! + x3/3! + ... + (-1)n-1xn/n!
X输出保留4位小数。
输入样例:
2.0 3
输出样例:
1.3333
参考解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double x = scanner.nextDouble();
int n = scanner.nextInt();
double sum = 0,temp;
int flag = 1;
for(int i = 1; i <= n; i++,flag*=-1) {
temp = mypow(x,i)/fact(i);
sum += temp*flag;
}
System.out.printf("%.4f",sum);
}
public static double fact(int n){
double sum = 1;
for(int i = 1; i <= n; i++) {
sum*=i;
}
return sum;
}
public static double mypow(double x,int n) {
double sum = 1;
for(int i=1; i <= n; i++) {
sum*=x;
}
return sum;
}
}