根据e=1/1!+1/2!+,+1/n!用C++设计一个编程来计算e精确到1000位
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/03 15:19:20
根据e=1/1!+1/2!+,+1/n!用C++设计一个编程来计算e精确到1000位
能不能给个简单的编程.楼下那个也许是对的,可在我的C++运行环境GUIDE里运行不出来,显示多处错误.
能不能给个简单的编程.楼下那个也许是对的,可在我的C++运行环境GUIDE里运行不出来,显示多处错误.
这个问题首先是数据存储形式和运算问题.现有的 数据类型没有一种能满足要求,必须定义自己的类型.
可以定义定点的或浮点十进制,定长或不定长存储,
定长存储计算比较简便,不定长计算较为复杂,
算式求和与阶乘的算法并不复杂,可以用递归实现
定义数据类
class VeryLongNumber {
//数据成员
//方法和操作符 set + - * / += -= *= /= ++ --
//包括与标准数据类型的运算符
}
void fun(class VeryLongNumber * t,int n)
{
if(n==1){
t->set(1);
return;
}
fun(t,n-1);
class VeryLongNumber tmp(1);
tmp/=n;
(*t) *= tmp;
}
void sum (class VeryLongNumber * sumo,int n){
if(n==1){
sumo->set(1);
return;
}
sum(sumo,n-1);
class VeryLongNumber * tmp=new VeryLongNumber(0);
fun(tmp,n);
(*sumo)+=(*tmp);
delete tmp;
}
要完善自定义的极长精度的数据类型绝非一时半刻能办的到的还要不断摸索,测试,反复修改.有了方法和思路,离实现就进了一步.这是现编的程序也没有测试难免有错误,思路没有问题.以后有时间再考虑自定义极长精度数据类型问题
搂主,数据类必须把内部的成员函数全部声明后,下边的程序才能编译通过,现在运行是不可以的,必须完善数据类以后才能运行
如果先用double 型代替 可以测试下面的函数是否算法正确.
方法 用double 代换 class VeryLongNumber
set 函数 和对象置初值 直接用赋值
然后就可以运行了,不过精度不够,n不能过大
极长精度数据类 可以用类似double 方法
class VeryLongNumber {
int power;
int data[1500];
VeryLongNumber (){ power=0;for(int i=0;i
可以定义定点的或浮点十进制,定长或不定长存储,
定长存储计算比较简便,不定长计算较为复杂,
算式求和与阶乘的算法并不复杂,可以用递归实现
定义数据类
class VeryLongNumber {
//数据成员
//方法和操作符 set + - * / += -= *= /= ++ --
//包括与标准数据类型的运算符
}
void fun(class VeryLongNumber * t,int n)
{
if(n==1){
t->set(1);
return;
}
fun(t,n-1);
class VeryLongNumber tmp(1);
tmp/=n;
(*t) *= tmp;
}
void sum (class VeryLongNumber * sumo,int n){
if(n==1){
sumo->set(1);
return;
}
sum(sumo,n-1);
class VeryLongNumber * tmp=new VeryLongNumber(0);
fun(tmp,n);
(*sumo)+=(*tmp);
delete tmp;
}
要完善自定义的极长精度的数据类型绝非一时半刻能办的到的还要不断摸索,测试,反复修改.有了方法和思路,离实现就进了一步.这是现编的程序也没有测试难免有错误,思路没有问题.以后有时间再考虑自定义极长精度数据类型问题
搂主,数据类必须把内部的成员函数全部声明后,下边的程序才能编译通过,现在运行是不可以的,必须完善数据类以后才能运行
如果先用double 型代替 可以测试下面的函数是否算法正确.
方法 用double 代换 class VeryLongNumber
set 函数 和对象置初值 直接用赋值
然后就可以运行了,不过精度不够,n不能过大
极长精度数据类 可以用类似double 方法
class VeryLongNumber {
int power;
int data[1500];
VeryLongNumber (){ power=0;for(int i=0;i
编程e=1+1/1i+1/2i+...,求求e的近似值,精确小数点后6位,..
求用C语言编程出计算e的x次方.其中e的x次方=1+x+x^2/(2!)...+x^n/(n!)的原程序
请用c语言编程计算1-1/2+1/3-1/4+1/5-...+1/99.(精确到小数点后3位)
C语言编程泰勒公式的计算e^x=1+x+x2/2!+x3/3!+.+xn/n!
Delphi编程,计算e的近似值(e=1+1/1!+1/2!+1/3!+...+1/n!+...)
求C语言编程,e=1+1/1!+1/2!+1/3!+...+1/n!,精确度1e-6
当n=15时,C语言编程出计算e的x次方.其中e的x次方=1+x+x^2/(2!)...+x^n/(n!)的程序.
如何在C编程语言用do-while语句编写程序计算e≈1+1/1!+1/2!+1/3!+…+1/n!.
C语言编程计算e按下列公式计算e的值,精度为1e-6.(注意,这里的e是自然对数的底数)e=1+1/1!+1/2!+1/
C语言,输入一个正整数n,计算下式求出e的值(保留两位小数),使用循环嵌套e=1+1/1!+1/2!+1/3!+.+1/
VF用表单设计的方式 计算e的近似值.其公式为:e=1+1/1!+1/2!+1/3!+…+1/N!,直到1/N!
C语言根据公式 e = 1 + 1/1!+ 1/2!+ 1/3!+ …….+ 1/n!计算e的值,直到最后一项小于10-