public class Main {public static void main(String[] args) {
double e=1,sum=1//e的初值为1,sum用来存放n!
int i=1
while(sum<Math.pow(10, 1000000)){ //当sum大于10的1000000次方的时候我们认为已近似的
sum=i*sum相等了,如果这个数设置的更大就会更加接近e
e=1.0/sum+e
i++
}
System.out.println("e="+e)
}} 程序是经验证的,可以在编译环境上运行!绝对没问题~
代码如下:
运行过了
输出e=2.718282
不知是否满意
望采纳
#include
void
main(){
long
fun(int
n)
int
i
double
e=0
double
eps=1e-6//eps表示精度
此处指10的-6次方
for(i=01.0/fun(i)>epsi++)
{
e+=1.0/fun(i)
}
printf("e=%lf\n",e)
}
long
fun(int
n)//求n!的函数
{
if(n==0)
return
1
else
return
n*fun(n-1)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)