В своем стремлении выучить C я столкнулся с задачей, которая вызывает у меня несколько проблем.Мне нужно составить уравнение для приближенного значения формул n !, которое можно описать так:
n!= n ^ n * e ^ (- n) * sqrt (2 (2 * n + 1/3) * PI), однако я просто не могу сопоставить свои значения с фактическим значением.5!= 120ish
Я могу получить значение около 148ish
Не могу понять, где мой код неверен:
#include <stdio.h>
#include <math.h>
#define PI 3.14156
#define E_CONST 2.7828
int main ()
{
double num;
double calc, first, second, third, fourth;
printf("Give an int: ");
scanf("%lf", &num);
first = pow(num , num);
second = pow(E_CONST, -num);
third = (2 * num + 1/3);
fourth = sqrt(2*third*PI);
//calc = first * second * fourth;
calc = pow(num, num) * pow(E_CONST, -num) * sqrt(2*(2*num+(1/3))*PI);
printf("Input: %f", num);
printf("1: %.2f\n2: %.10f\n3: %.8f\n4: %.2f\n", first, second, third, fourth);
printf("\nInt was: %.2f\n\nApproximate number: %.5f", num, calc);
return 0;
}
Чувствую, что я все перепробовал.Код немного неопрятный, но это потому, что я так долго с ним боролся.