计算1-1/2+1/3-1/4+...-1/100的几种算法总结

计算1-1/2+1/3-1/4+…-1/100

int main()
{
    //法一:
    double n = 1;
    double sub = 0;
    double trem = 0;
    double q = 1;
    for (n = 1; n < 101; ++n)
    {
        trem = q*(1.0 / n);
        sub = sub + trem;
        q = -q;
    }
    printf("sub=%f\n", sub);
}

int main()
{
    //法二:
    double n = 1;
    double sub = 0;
    double q = 1;
    double trem = 0;
    while (n < 7.0)
    {
        trem = q*(1.0 / n);
        sub = sub + trem;
        q = -q;
        n++;
    }
    printf("sub=%f\n", sub);
}

int main()
{
    //法三(最优)
    int i = 0;
    double sub = 0;
    for (i = 1; i < 101; ++i)
    {
        if (i % 2 == 0)
            sub -= 1.0 / i;
        else
            sub += 1.0 / i;
    }

    printf("sub=%f\n", sub);
}

你可能感兴趣的:(计算1-1/2+1/3-1/4+...-1/100的几种算法总结)