Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 黎曼和问题_C_Algorithm_Sum - Fatal编程技术网

C 黎曼和问题

C 黎曼和问题,c,algorithm,sum,C,Algorithm,Sum,我有两个不同的程序,一个是使用for循环找到一个有限数的黎曼和,虽然我发现了一些愚蠢的舍入错误,但它似乎工作得很好。第二个程序使用while循环并打印迭代,直到指定值。第一次弹出的值是M=226,但当我运行while循环时,它显示为227。我不明白为什么会这样 int main() { int i=1,m=0; double x=0.0; printf ("the sum of i/(4i+2)^3 as i goes from one to M, please ente

我有两个不同的程序,一个是使用for循环找到一个有限数的黎曼和,虽然我发现了一些愚蠢的舍入错误,但它似乎工作得很好。第二个程序使用while循环并打印迭代,直到指定值。第一次弹出的值是M=226,但当我运行while循环时,它显示为227。我不明白为什么会这样

int main()
{
    int i=1,m=0;
    double x=0.0;
    printf ("the sum of i/(4i+2)^3 as i goes from one to M, please enter a M\n");
    scanf ("%d",&m);
    for(i;i<=m;i++)
    {
        x=x+(i/pow(4*i+2,3));
    }
    printf("the sum of your series is %.9lf\n", x);

    return 0;
}
intmain()
{
int i=1,m=0;
双x=0.0;
printf(“i/(4i+2)^3之和,当我从1变为M时,请输入一个M\n”);
scanf(“%d”、&m);
对于(i;i如果您添加
printf(“循环结束后,i等于%d\n”,i);
在循环结束后的第一个示例中,您会看到它在末尾等于227,而不是226


您错误地假设执行结束时,
i
必须等于226。上次循环条件为真时,226(即,
226我不知道问题在哪里?是在for循环程序中还是在while中?
#include <stdio.h>
#include <math.h>

int main()
{
    int i=0;
    float x=0.0;
    while (x<0.011300)
    {
        x = x+((float)i/pow(4*i+2,3));
        i++;
    }
    printf("%d", i);
    return 0;
}