gpt4 book ai didi

c++ - 对于给定的输出,程序计算中使用了多少项?

转载 作者:行者123 更新时间:2023-11-30 20:38:09 26 4
gpt4 key购买 nike

我有以下代码,用于计算您选择的项数 6 * [ 1 + 1/(2^2) + 1/(3^2)....1/的平方根(n^2)]。在本例中,我将使用 100 个术语。 如果我知道输出应该是什么,有没有办法使用我现有的代码来确定使用了多少个术语来获得该输出?

#include <stdio.h>
#include <math.h>

int main(int argc, const char * argv[]) {

long double square = 0;
for (int i = 1; i <= 100; i++) {
long double squareExp = i*i;
square += 1/(squareExp);
}

long double sixTimes = 6 * square;
long double squareRoot = sqrt(sixTimes);

printf("%.8Lf", squareRoot);

return 0;
}

我尝试制作它,以便获取所需的输出 (3.141592),将其平方并除以 6 以求负平方根和 (*6),并尝试运行以下代码:

double temp = 3.141592 * 3.141592;
double tempB = temp / 6;
printf("%f\n", tempB);
int reachedZero = 0;
int valueOfN = 0;

long double square = 0;
while (square > 0) {
int i = 1;
square -= 1/i;
i++;
if (square <= 1) {
reachedZero = 1;
valueOfN = i;
break;
}
}

printf("%i", valueOfN);



return 0;

}

我不知道该怎么办。我想取这个数字(在去掉平方根并乘以6之后),并减去从1开始的数字,然后是1/4,然后是1/9,然后是1/16...1/(n^2 ) 直到该数变为负数。一旦发生这种情况,我会设置一个标志,并且我知道需要多少个术语才能达到该#。然后,我将该特定计数器设置为一个变量,我可以打印出来。

最佳答案

@EugeneSh。这对我来说是一个有效的解决方案。基本上将我正在寻找的 pi 输出与我的循环相匹配,每次都检查它。可以将 for 循环更改为 while 循环,但这样工作得很好。

int main(int argc, const char * argv[]) {

long double square;
for (long i = 1; i>=1; i++) {
square += 1.0/(i*i);
long double sixTimes = sqrt(6 * square);
if (sixTimes >= 3.141592) {
printf("%li", i);
break;
}
}
return 0;
}

关于c++ - 对于给定的输出,程序计算中使用了多少项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30334345/

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