0

不知道哪里错了。帮我找到它:) 需要找到相同的 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;
}
4

2 回答 2

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 

这似乎是你所追求的。

于 2013-11-03T15:27:22.920 回答
1

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

于 2013-11-03T15:29:00.017 回答