C 用级数计算pi
我想用Rabinowitz的Spinot算法计算pi。它是由两个阶乘和一个幂组成的无限和: 问题是我编写了简单的程序来计算阶乘和幂,但我需要将它们组合在一个for循环中。然后计算总数 以下是我首先做的: 但它不起作用。 pi计算背后的原始想法是正确的吗?用这些级数计算pi可行吗? 如果是,我的错误是什么? 任何帮助都将不胜感激。提前谢谢C 用级数计算pi,c,for-loop,nested-loops,series,pi,C,For Loop,Nested Loops,Series,Pi,我想用Rabinowitz的Spinot算法计算pi。它是由两个阶乘和一个幂组成的无限和: 问题是我编写了简单的程序来计算阶乘和幂,但我需要将它们组合在一个for循环中。然后计算总数 以下是我首先做的: 但它不起作用。 pi计算背后的原始想法是正确的吗?用这些级数计算pi可行吗? 如果是,我的错误是什么? 任何帮助都将不胜感激。提前谢谢 #include <stdio.h> int main() { float factorialn,n,sqr,power,factoriald
#include <stdio.h>
int main()
{
float factorialn,n,sqr,power,factoriald,f;
factorialn=1;
n=10;
power=2;
factoriald=1;
for(int i=1;i<=n;i++)
{
factorialn*=i;
}
sqr=factorialn*factorialn;
for(int i=1;i<=n;i++)
{
power=power*2;
}
for(int i=1;i<=2*n+1;i++)
{
factoriald=factoriald*i;
}
printf("factorialn square is: %10f",sqr);
printf("Pow of 2 to the n+1: %10f",power);
printf("Factoriald: %10f",factoriald);
return 0;
}
#包括
int main()
{
浮点阶乘n,n,sqr,幂,阶乘d,f;
因子n=1;
n=10;
功率=2;
factoriald=1;
for(int i=1;i21!)对于64位无符号long太大
我将所有内容都更改为长双精度,使用2初始化sum
,并使用I
重新定义factoriald
循环计算
#include <stdio.h>
int main(void) {
long double factorialn, n, power, factoriald;
long double sum = 2;
factorialn = 1;
n = 10;
power = 2;
factoriald = 1;
for (int i = 1; i <= n; i++) {
factorialn *= i;
power *= 2;
for (int j = 2 * i; j <= 2 * i + 1; j++) {
factoriald *= j;
}
sum += factorialn * factorialn * power / factoriald;
}
printf("summa %1.16Lf\n", sum);
return 0;
}
#包括
内部主(空){
长双阶乘n,n,幂,阶乘d;
长双和=2;
因子n=1;
n=10;
功率=2;
factoriald=1;
对于(int i=1;我请直接以纯文本形式发布代码,不要使用图像。旁白:(i!)^2
将是一个非常大的数字。提示:在factoriald
的内部计算中,不要在1
处启动j
。我确实发布了纯文本@Alex.@pmg j计算应从哪里开始?
#include <stdio.h>
int main(void) {
long double factorialn, n, power, factoriald;
long double sum = 2;
factorialn = 1;
n = 10;
power = 2;
factoriald = 1;
for (int i = 1; i <= n; i++) {
factorialn *= i;
power *= 2;
for (int j = 2 * i; j <= 2 * i + 1; j++) {
factoriald *= j;
}
sum += factorialn * factorialn * power / factoriald;
}
printf("summa %1.16Lf\n", sum);
return 0;
}