题目描述
勾股数是很有趣的数学概念。如果三个正整数a、b、c,满足a^2 + b^2 = c^2,而且1 ≤ a ≤ b ≤ c,我们就将a、b、c组成的三元组(a, b, c)称为勾股数。你能通过编程,数数有多少组勾股数,能够满足c ≤ n吗?
输入
输入一行,包含一个正整数n。约定 1 ≤ n ≤ 1000。
输出
输出一行,包含一个整数c,表示有c组满足条件的勾股数。
样例输入
5
样例输出
1
样例解释
满足C ≤ 5 的勾股数只有一组,即(3,4,5)。
满足C ≤ 13 的勾股数有 3 组,即(3,4,5)、(6,8,10)和(5,12,13)。
示例代码:
#include <bits/stdc++.h>
using namespace std;
int main(){long long b,c,n,cc=0;double a;cin>>n;for(c=1;c<=n;c++){for(b=1;b<=c;b++){a=sqrt(c*c-b*b);if(int(a)==a&&a>=1&&a<=b){cc++;//cout<<a<<" "<<b<<" "<<c<<endl;}}}cout<<cc;return 0;
}
*如果想输出勾股数就去掉注释的//