/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package newpackage1;
import java.util.Scanner;
/**
*这个算法 只在算x小于等于16的时候比较准确
* @author Administrator
*/
public class e的x次方计算 {
public static void main(String args[]) {
int x, n = 1, i;
double j = 0;
double sum1 = 1;
double sum2 = 1;
System.out.println("请输入x的值:");
Scanner sca1 = new Scanner(System.in);
x = sca1.nextInt();
// System.out.println("请输入n的值:(表示精度n越大越准确)最好在40以内");
// Scanner sca2 = new Scanner(System.in);
n = 16;
for (i = 1; i < n; i++) {
sum1 = ncf(x, i);
sum2 = jc(i);
j += (sum1 / sum2);
}
j+=1;
System.out.println("sum1="+sum1);
System.out.println("sum2="+sum2);
if (n ==1) {
System.out.print("eee=1");
} else {
System.out.println("eee="+j);
}
}
public static long ncf(double x, double y) {
if (y == 0) {
return 1;
}
if (y == 1) {
return (long) x;
}
if (x == 0) {
return 0;
}
int z;
int m = 1;
for (z = 0; z < y ; z++) {
m *= x;
}
return m;
}//函数 求x的n次方
public static long jc(int x) {
int zz = 1;
if (x == 0) {
return 1;
}
if (x != 0) {
for (int i = 1; i < x + 1; i++) {
zz *= i;
}
return zz;
}
return zz;
}//函数 求n的阶乘
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package newpackage1;
import java.util.Scanner;
/**
*这个算法 只在算x小于等于16的时候比较准确
* @author Administrator
*/
public class e的x次方计算 {
public static void main(String args[]) {
int x, n = 1, i;
double j = 0;
double sum1 = 1;
double sum2 = 1;
System.out.println("请输入x的值:");
Scanner sca1 = new Scanner(System.in);
x = sca1.nextInt();
// System.out.println("请输入n的值:(表示精度n越大越准确)最好在40以内");
// Scanner sca2 = new Scanner(System.in);
n = 16;
for (i = 1; i < n; i++) {
sum1 = ncf(x, i);
sum2 = jc(i);
j += (sum1 / sum2);
}
j+=1;
System.out.println("sum1="+sum1);
System.out.println("sum2="+sum2);
if (n ==1) {
System.out.print("eee=1");
} else {
System.out.println("eee="+j);
}
}
public static long ncf(double x, double y) {
if (y == 0) {
return 1;
}
if (y == 1) {
return (long) x;
}
if (x == 0) {
return 0;
}
int z;
int m = 1;
for (z = 0; z < y ; z++) {
m *= x;
}
return m;
}//函数 求x的n次方
public static long jc(int x) {
int zz = 1;
if (x == 0) {
return 1;
}
if (x != 0) {
for (int i = 1; i < x + 1; i++) {
zz *= i;
}
return zz;
}
return zz;
}//函数 求n的阶乘
}