gpt4 book ai didi

c++ - 在 C++ 中使用泰勒级数求自然对数

转载 作者:搜寻专家 更新时间:2023-10-31 00:28:01 24 4
gpt4 key购买 nike

The specific question

好吧,我花了最后 2 个小时来处理这个问题,对代码进行了一百次调整,但我什么也没得到。没有错误也没有警告,但答案是错误的。这是我的代码:

#include <iostream>
using namespace std;

void main()
{
/***********Variable Declarations************/

double count = 1, totalValue = 0, it, x, z=1, powe = 1, y;

cout << "Iterations=";
cin >> it;
cout << "x=";
cin >> x;
/***************End User Input***************/

while (count <= it)
{
for (int i = 0; i < powe; i++) {
z *= (x - 1) / (x + 1);
}
y = (1 / powe)*z;

totalValue = totalValue + y;
powe = powe + 2;
count++;
}

cout << "The Result is:" << 2*totalValue << endl;
}

我知道是逻辑(数学)问题,但我好像找不到。谢谢。

编辑:我们不允许使用任何其他库。

最佳答案

您的方法效率低下,实现错误。

这是错误的,因为计算 2N 次方的内部循环已损坏。每次在内循环之前,您都需要将 z 重置为 1。

不过不要这样做,您根本不需要内部循环。

为了计算该系列的第 N 个成员,您不需要从一开始就计算同一个旧数字的 2N 次方。您刚刚在上一步中计算了该数字的 2N-2 次方。使用它。

关于c++ - 在 C++ 中使用泰勒级数求自然对数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46879166/

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