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) 各算一次
    }
};
相关推荐
程序员老舅3 小时前
啃透 I2C 驱动开发,才算入门嵌入式 Linux 内核驱动
数据结构·驱动开发·b树·内核·嵌入式·嵌入式开发·i2c
lueluelue473 小时前
LeetCode:链表
算法·leetcode·链表
橘子汽水1686 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
huameinan狮子6 小时前
Adaboost算法原理与计算实例
算法
别怪我很水6 小时前
API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 ...
算法·gitee·最小二乘法
Re.不晚9 小时前
挑战做100道力扣算法- DAY1
算法·leetcode·职场和发展
蓝悦无人机9 小时前
《Planning algorithms》读书笔记——第1章 引言
算法·读书笔记·规划算法·lavalle
Sagittarius_A*10 小时前
分组密码基础(二):Feistel 结构与 DES 的设计思想
算法·信息安全·密码学·des·数论
青山木10 小时前
Hot 100 --- 搜索插入位置
java·数据结构·算法·leetcode