import javautilScanner;
public class S1014060163 {
public static void main(String[] args) {
final Scanner scanner = new Scanner(Systemin);
int value = 1;
while (value > 0) {
Systemoutprintln("请输入一整数(0结束): ");
value = scannernextInt();
double result = 10;
final StringBuilder sb = new StringBuilder("1/1");
for (int index = 2, sign = -1; index <= value; index++, sign = -1) {
sbappend(sign > 0 '+' : '-')append("1/")append(index);
result += (10 / (index sign));
}
if (value != 0) {
sbappend("=")append(result);
Systemoutprintln(sbtoString());
}
}
}
}
应该差不多了,只是不要有非法数据
n值是确定的吧,不然程序会持续的算下去,不符合程序的有穷性
根据题目提供以下代码:
#include<iostream>
#include<stdlibh>
using namespace std;
int main()
{
int n,sum=1,i;
float e=0;
cout<<"请输入n值:";
cin>>n;
for(i=1;i<=n;i++)
{
sum=i;
e+=101/sum;
}
cout<<"e="<<1+e<<endl;
system("PAUSE");
return 0;
}
#include<stdioh>
int main()
{float i,e=10,t=10;
for(i=1;t>=10e-6;i+=1)
{t/=i;
e+=t;
}
printf("e=%f\n",e);
getch();
return 0;
}
a 溢出了,a阶乘到150,a的值都到了10的260次方了,知道10的260次方是什么概念吗?给你说吧,光的速度是最快的,3乘以10的8次方米每秒,一年就走9,460,730,472,580,800米,约等于10的16次方!a阶乘到150都那么利害了,更何况阶乘到1000?
给你改了一下程序,可以得到更精确的数:
#include <iostream>
using namespace std;
int main()
{
int i;
long double a=1;
long double s=10,b;
for (i=1;i<=150;i++)
{
a=i;
b=10/a;
s+=b;
}
coutprecision( 20 ); //设置确定度
cout << a << endl;
cout << s << endl;
}
以上就是关于用java编写程序,计算数学e的值,e=1/1-1/2+1/3-1/4+...+/- 1/n ...怎么编写啊全部的内容,包括:用java编写程序,计算数学e的值,e=1/1-1/2+1/3-1/4+...+/- 1/n ...怎么编写啊、编程序按下列公式计算E的值(精度1E-6)、c语言程序 用泰勒级数求e的近似值,直到最后一项小于le-6为止。 e=1+1/1!+...+1/n!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)