gpt4 book ai didi

c - 逼近常数 e 的简单 C 程序

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:56 24 4
gpt4 key购买 nike

我正在尝试创建一个将 e (e=1+1/1!+1/2!+1/3!+...) 近似为限制因子 epsilon 的程序。程序应继续添加项,直到当前语句变得小于 epsilon,其中 epsilon 是用户输入的一个小(浮点)数。

我可以编写将 e 近似为第 n 项的程序,但是一旦最近的项小于 epsilon,我就无法将其执行到停止的位置。

如有任何帮助,我们将不胜感激。

#include <stdio.h>

int main(void)
{

int i=1,l;
float e,p,epsilon;

printf("Enter the value of epsilon: ");
scanf("%f", &epsilon);

for(;;)
{
p=1;
for(l = 1; l < 1; l--)
{
p*=l;
if (1/p<epsilon) {
goto done;
}
}

e+=1/p;
i++;
}

done:
printf("The value of e limited by epsilon is %f\n",e);

return 0;
}

最佳答案

这几行应该对你有帮助

double expo ( double x, double epsilon )
{
double sum=0;
unsigned i=0;
double fact=0;
double factorial=1;
while ( 1 )
{
fact=1/factorial;
if ((fact-epsilon) < 0.000001) /* Comparing doubles. Am I safe here? */
break;

sum+=fact;
i++;
factorial*=i;
}
return sum;
}

关于c - 逼近常数 e 的简单 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10012064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com