如何用C語言實作這個?

uj5u.com熱心網友回復:
#include "math.h"
double p( unsigned int k )
{
double product = 1.0;
double productterm;
for( int n = 1; n <= k; n )
{
productterm = pow( (double) 2*n, 4.0)/ pow( (double) 2*n*(2*n-1), 2.0 );
product*=productterm;
}
return product/((double)(2*k 1));
}
uj5u.com熱心網友回復:
可以在不使用math函式的情況下進行簡化:
double p(int k)
{
int n;
double den = 1.0, num = 1.0;
double p;
for (n = 1; n <= k; n ) {
den *= 2 * n - 1;
num *= 2 * n;
}
p = num / den;
return p * p / (double)(2 * k 1);
}
uj5u.com熱心網友回復:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main (int argc, char * *argv) {
int k = 0;
scanf ("%d", &k);
double overAll = 1.0;
for (int i = 1; i <= k; i) {
overAll *= pow ((double)(2 * i), 4.0) / pow ((double)((2 * i) * (2 * i - 1)), 2.0);
}
overAll /= (double)(2 * k 1);
printf ("Result: %lf", overAll);
return EXIT_SUCCESS;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/335625.html
上一篇:在C中,給定char*ptr并定義到ptr n,當我嘗試類似于(ptr i)=(ptr j);的陳述句時;其中i,j<n,我得到了“左值錯誤”。為什么?
下一篇:C中%fl和%lf之間的區別
