Вот так правильно на Си:
#include <stdio.h>
int gcd(int x, int y)
{ int z = x % y; return z ? gcd(y, z) : y; }
int main()
{
int P = 1, p = 1, F = 1, g, i;
for (i = 1; i <= 5; ++i) { P += (p *= 3); F *= i; }
g = gcd(P, F); P /= g; F /= g;
printf("P = %d/%d ≈ %.16g\n", P, F, double(P) / F);
}
Так вычисляются точное значение в виде несократимой дроби (для чего понадобится НОД, то есть наибольший общий делитель суммы в числителе и факториала в знаменателе, который по-английски GCD) и его представление в виде десятичной дроби: