返回介绍

solution / 1900-1999 / 1925.Count Square Sum Triples / README

发布于 2024-06-17 01:03:12 字数 2444 浏览 0 评论 0 收藏 0

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

English Version

题目描述

一个 平方和三元组 (a,b,c) 指的是满足 a2 + b2 = c2 的 整数 三元组 ab 和 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

解法

方法一

class Solution:
  def countTriples(self, n: int) -> int:
    res = 0
    for a in range(1, n + 1):
      for b in range(1, n + 1):
        t = a**2 + b**2
        c = int(sqrt(t))
        if c <= n and c**2 == t:
          res += 1
    return res
class Solution {
  public int countTriples(int n) {
    int res = 0;
    for (int a = 1; a <= n; ++a) {
      for (int b = 1; b <= n; ++b) {
        int t = a * a + b * b;
        int c = (int) Math.sqrt(t);
        if (c <= n && c * c == t) {
          ++res;
        }
      }
    }
    return res;
  }
}
class Solution {
public:
  int countTriples(int n) {
    int res = 0;
    for (int a = 1; a <= n; ++a) {
      for (int b = 1; b <= n; ++b) {
        int t = a * a + b * b;
        int c = (int) sqrt(t);
        if (c <= n && c * c == t) {
          ++res;
        }
      }
    }
    return res;
  }
};
func countTriples(n int) int {
  res := 0
  for a := 1; a <= n; a++ {
    for b := 1; b <= n; b++ {
      t := a*a + b*b
      c := int(math.Sqrt(float64(t)))
      if c <= n && c*c == t {
        res++
      }
    }
  }
  return res
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文