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