1 条题解
-
2
【题目大意】
本题考察循环枚举,求的范围内,满足的三元组的个数。
【考纲知识点】
基本运算(一级), 循环结构(二级)
【解题思路】
枚举 𝑎,𝑏,那么我们定 𝑐为 。
接下来我们需要判断一下 𝑐 是否满足以下条件:
1.:判断 𝑐是否在 𝑛的范围内。
2.:由于 𝑐 已经向下取整,所以这样判断即可确定 是否为整数。
判断成功后累加即可,时间复杂度 ,可以通过。
【参考程序】
#include <bits/stdc++.h> using namespace std; int n,sum; int main(){ cin>>n; for (int a=1;a<=n;a++){ //枚举a的范围 for (int b=a;b<=n;b++){ //枚举b的范围 int c=sqrt(a*a+b*b); //计算出c,开根号后向下取整 if (c<=n && c*c==a*a+b*b){ //判断c是否满足两个条件 sum++; //满足即计数加1 } } } cout<<sum; //输出结果 return 0; }
- 1
信息
- ID
- 554
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 129
- 已通过
- 52
- 上传者