Я хочу вычислить число Пи, используя алгоритм Рабиновича Спинота.Это бесконечная сумма, которая состоит из двух факториалов и одной степени:
Дело в том, что я написал простые программы для вычисления факториалов и степеней, но мне нужно объединить их в один цикл for.И подсчитайте сумму.
Вот что я сделал первым:
Но это не работает.Правильно ли исходная идея вычисления числа пи?Можно ли вычислить число Пи с этими рядами?Если да, то в чем здесь моя ошибка?Любая помощь будет оценена. Спасибо заранее
#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;
}