-1

我得到了这个系列的错误解决方案:(-1/4)^(n+1)*(z-1)^n

对于|z-1|<4该级数是否趋于收敛于-1/3+z

Forz=0.5应该是解决方案-2/7,但如果我尝试用 c 绘图,结果是 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(这可能是您想要使用的)。使用浮点文字,-1.0如果你想在 C 中使用它们!

于 2015-05-06T11:06:09.557 回答
0

-1/4将导致0作为整数除法,请改用浮点数:

     (float)-1/4
于 2015-05-06T11:06:28.800 回答
0

1/4指欧几里得除法,因此得到 0。
使用sum+=pow((-1.0/4.0),(n+1)) * pow((0.5-1),n);,你会得到好的结果sum= -0.285714

于 2015-05-06T11:06:45.720 回答