题目描述
勾股数是很有趣的数学概念。如果三个正整数 a,b,ca,b,c,满足 a2+b2=c2a2+b2=c2,而且 1≤a≤b≤c1≤a≤b≤c,我们就将 a,b,ca,b,c 组成的三元组 (a,b,c)(a,b,c) 称为勾股数。你能通过编程,数数有多少组勾股数,能够满足 c≤nc≤n 吗?
输入格式
输入一行,包含一个正整数 nn。约定 1≤n≤10001≤n≤1000。
输出格式
输出一行,包含一个整数 CC,表示有 CC 组满足条件的勾股数。
输入输出样例
输入 #1
5
输出 #1
1
输入 #2
13
输出 #2
3
说明/提示
【样例解释 1】
满足 c≤5c≤5 的勾股数只有 (3,4,5)(3,4,5) 一组。
【样例解释 2】
满足 c≤13c≤13 的勾股数有 33 组,即 (3,4,5)(3,4,5)、(6,8,10)(6,8,10) 和 (5,12,13)(5,12,13)。
题解:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
int c=sqrt(i*i+j*j);
if(c>n||c*c!=i*i+j*j){
continue;
}
sum++;
}
}
cout<<sum;
return 0;
}
392

被折叠的 条评论
为什么被折叠?



