题目:
![](https://i-blog.csdnimg.cn/blog_migrate/f71731afb16932ebd6e05cc405d8a943.png)
审题:
a*a + b* b = c*c 相当于勾股定理
a ,b, c,在 闭区间 [1,n]的范围内
思路:
三次循环,要保证那个循环代表 c,因为c>=a&&c>=b
循环一:for()里面->
i从1开始; i小于 总和n- b的平方值 ; i递增
循环二:for()里面->
j从1开始; j小于 总和n- a的平方值 ; j递增
循环三:for()里面->
k从1开始:k小于 n就行;k递增
题解:
class Solution {
public:
int countTriples(int n) {
int num = 0;
for(int i = 1;i<=n-1;i++)
{
for(int j = 1;j<=n-1;j++)
{
for(int k = 1;k<=n;k++)
{
if (i*i+j*j==k*k)
{
num++;
}
}
}
}
return num;
}
};