文章目录
- 1. 题目
- 2. 解题
1. 题目
一个 平方和三元组 (a,b,c) 指的是满足 a2+b2=c2a^2 + b^2 = c^2a2+b2=c2 的 整数 三元组 a,b 和 c 。
给你一个整数 n ,请你返回满足 1 <= a, b, c <= n
的 平方和三元组 的数目。
示例 1:
输入:n = 5
输出:2
解释:平方和三元组为 (3,4,5) 和 (4,3,5) 。示例 2:
输入:n = 10
输出:4
解释:平方和三元组为 (3,4,5),(4,3,5),(6,8,10) 和 (8,6,10) 。提示:
1 <= n <= 250
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/count-square-sum-triples
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 枚举 a, c ,求出 b 的平方,检查是否存在 整数 b 即可
class Solution {
public:int countTriples(int n) {int ans = 0, a, b, c;for(c = 1; c <= n; ++c){for(a = 1; a < c; ++a){int b2 = c*c-a*a;b = int(sqrt(b2));if(b*b == b2) // 存在整数 bans++;}}return ans;}
};
4 ms 5.9 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!