leetcode 1925

1925: 统计平方和三元组的数目

思路:暴力枚举

我们可以枚举所有 a>b 的平方和三元组 (a,b,c)。由于 a^2+b^2=b^2+a^2,所以 (b,a,c) 也是平方和三元组。所以只需统计 a>b 的情况,最后把统计结果乘以 2,即为答案。枚举 a,b,如果 a^2+b^2 ≤n*n (c<=n) 且 c= 是整数,那么我们找到了一个平方和三元组 (a,b,c),计数器加一。

复制代码
int c = sqrt(c2); 

sqrt 的返回类型是 double;编译器发现要把一个 double 赋给 int,这是"隐式类型转换",会直接把小数部分截断(向 0 取整,不是四舍五入)

复制代码
class Solution {
public:
    int countTriples(int n) {
        int ans=0;
        for(int a=1;a<n;a++){
            for(int b=1;b<a && a*a+b*b<=n*n;b++){
                int c2=a*a+b*b;
                int c=sqrt(c2);
                if(c*c==c2) ans++; 
            }
        }

        return ans*2; // (a,b,c) 和 (b,a,c) 各算一次
    }
};
相关推荐
CoderYanger2 小时前
A.每日一题——1925. 统计平方和三元组的数目
java·开发语言·数据结构·算法·leetcode·哈希算法
小白程序员成长日记2 小时前
2025.12.08 力扣每日一题
java·算法·leetcode
XH华2 小时前
数据结构第七章:队列的学习
数据结构
zz0723202 小时前
数据结构 —— 并查集
java·数据结构
CQ_YM2 小时前
数据结构之排序
c语言·数据结构·算法·排序算法
Zhixiong Sun2 小时前
【算法训练营】【day1】数组part01
算法·力扣
小刘不想改BUG2 小时前
LeetCode 56.合并区间 Java
java·python·leetcode·贪心算法·贪心
Pluchon2 小时前
硅基计划4.0 算法 BFS最短路问题&多源BFS&拓扑排序
java·算法·哈希算法·近邻算法·广度优先·宽度优先·迭代加深
小尧嵌入式3 小时前
音视频入门基础知识
开发语言·c++·qt·算法·音视频