c程序需要找错吗?

时间:2013-11-03 15:23:19

标签: c

我不知道哪里出错了。帮我找到它:) 需要找到相同的3个自然数a,b,c,它将是算术级数,而a * a - b * b - c * c = dddd。 d =任何数字。例如53,37,21。 53 * 53 - 37 * 37 -21 * 21 = 999。

#include <stdio.h>
#include <stdlib.h>

int main () {
    int i,j,k,l,a,b,c;

    for (i = 1; i < 100; i++)
        for (j = 1; i < 100; i++)
            for (k = 1; i < 100; i++)
                if ((i - j) == (j - k)) {
                    a = i;
                    b = j;
                    c = k;
                    for (l = 1; l < 10; i++) {
                        if ((a*a-b*b-c*c) == (111*l)) {
                            printf("these numbers are: %d %d %d \n",a, b, c);
                        }
                    }
                }

    return 0;
}

2 个答案:

答案 0 :(得分:3)

你在j和k上的for循环是不正确的:i <100; i ++应该是j <100; j ++和类似的k。 l的循环也错误地增加i而不是l。

解决这些问题让我:

these numbers are: 28 15 2 
these numbers are: 43 27 11 
these numbers are: 47 37 27 
these numbers are: 50 37 24 
these numbers are: 53 37 21 
these numbers are: 94 74 54 

这似乎是你所追求的。

答案 1 :(得分:1)

你需要在for循环中增加j,k和l变量,而不是在每个循环中递增i。