-1

このシリーズの解決策が間違っています。(-1/4)^(n+1)*(z-1)^n

級数は|z-1|<4収束する傾向があるはずです-1/3+z

が解決策にz=0.5なるはずですが、-2/7cでプロットしようとすると、結果は0になります...

これが私のコードです:

#include <stdio.h>
#include <math.h>

int main(){
    double sum=0;
    int n;
    for(n=0;n<=100000;n++){
        sum+=pow((-1/4),(n+1)) * pow((0.5-1),n);
    }
    printf("sum= %f\n",sum);
}
4

3 に答える 3

0

ここに問題があります:

    sum+=pow((-1/4),(n+1)) * pow((0.5-1),n);

-1は整数リテラルです4。したがって、(-1/4)is-0であり、 not-0.25です (これはおそらく使用したかったものです)。C で浮動小数点リテラルが-1.0必要な場合のように、浮動小数点リテラルを使用してください。

于 2015-05-06T11:06:09.557 に答える
0

-1/40整数除算として結果が得られるため、代わりに浮動小数点数を使用します。

     (float)-1/4
于 2015-05-06T11:06:28.800 に答える