B3845 题目描述
勾股数是很有趣的数学概念。如果三个正整数 a,b,c,满足 aa+bb=c*c,而且 1≤a≤b≤c,我们就将 a,b,c 组成的三元组 (a,b,c) 称为勾股数。你能通过编程,数数有多少组勾股数,能够满足 c≤n 吗? 输入格式
输入一行,包含一个正整数 n。约定 1≤n≤10001。 输出格式
输出一行,包含一个整数 C,表示有 C 组满足条件的勾股数。
#include<bits/stdc++.h>
using namespace std;
bool pf(int c){
int aa,bb,cc,b,a;
b=c-1;
a=c-2;
aa=a*a;
bb=b*b;
cc=c*c;
if(aa + bb == cc){
return true;
}else{
return false;
}
}
int main(){
int n;
cin>>n;
int sum=0;
for(int i=1;i<=n;i++){
if(i>=3){
if(pf(i)){
sum++;
}
}
}
cout<<sum;
// int f=3;
// if(pf(f)) cout<<0;
// else cout<<2;
return 0;
}