【发布时间】:2019-05-12 07:22:41
【问题描述】:
我想使用拉比诺维茨的斯宾诺算法计算 pi。它是由两个阶乘和一个幂组成的无限和:
问题是我编写了用于计算阶乘和幂的简单程序,但我需要将它们组合在一个 for 循环中。并计算总和。
这是我首先做的:
但它不起作用。 计算 pi 背后的原始想法是否正确?用这些系列计算 pi 是否可行? 如果是,我的错误是什么? 任何帮助将不胜感激。在此先感谢
#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;
}
第二个代码:
#include <stdio.h>
int main()
{
unsigned long long factorialn,n,sqr,power,factoriald,f;
double sum;
factorialn=1;
n=10;
power=2;
factoriald=1;
for(int i=1;i<=n;i++)
{
factorialn*=i;
power=power*2;
for(int j=1;j<=2*n+1;j++)
{
factoriald=factoriald*j;
}
sum+=factorialn*factorialn*power/factoriald;
}
printf("summa %1.16lf\n;",sum);
return 0;
}
【问题讨论】:
-
请将您的代码直接以纯文本形式发布,不要使用图片。
-
旁白:
(i!)^2将是一个非常大的数字。 -
提示:在
factoriald的内部计算中不要在1处开始j。 -
我确实发布了纯文本@Alex。
-
@pmg j 计算应该从哪里开始?
标签: c for-loop nested-loops series pi