fomula1과 fomula2함수의 리턴값을 바꾸면 값이 나올 것 같긴 한데, 값이 계속 0이 나옵니다. 조그마한 팁이라도 얻을 수 있을까요?
이런 값을 얻고싶습니다.
#include <stdio.h>
#include <math.h>
double fomula1(double (*pf1)(double), double n);
double fomula2(double m);
int comb(int n);
int factorial(int n);
int main() {
printf("%.3lf\n", fomula1(fomula2, 3.0));
return 0;
}
int comb(int n) {
factorial(2 * n) / factorial(n) * factorial(n);
return (int)comb;
};
int factorial(int n) {
int p;
for (p = n; p >= 1; p--)
n *= p;
return (int)factorial;
}
double fomula1(double (*pf1)(double), double n) {
int i;
int result, sum = 0;
for (i = 1; i < n + 1; i++) {
result = (1 / 2) * ((int)pf1);
sum = sum + result;
};
return sum;
}
double fomula2(double m) {
int k;
int result, sum;
result, sum = 0;
for (k = 1; k < m + 1; k++) {
result = 1 + comb(2 * k) * (1 / pow((2 + k), k));
sum += result;
};
return sum;
}