Taylor級数でln(x)を計算しようとしています。これが私のコードです:
#define N 10
float ln(float x){
int i;
float result;
float xt;
float xtpow;
int sign;
if(x > 0 && x <= 1){
xt = x - 1.0;
sign = -1;
xtpow = 1.0;
result = 0;
for(i = 1 ; i < N + 1; i++ );
{
// Problem here
printf("%d\n", i);
sign = sign * (-1);
xtpow *= xt;
result += xtpow * sign / i;
}
}else if(x >= 1)
{
return -1 * ln(1.0 / x);
}
return result;
}
問題は私のシリーズ サイクルにあります (上記参照)。1サイクル変数i
が equalN + 1
になり、その後は何も起こらないようです。なぜそうなのか、何か考えはありますか?