B3845 [GESP样题 二级] 勾股数
题目描述
勾股数是很有趣的数学概念。如果三个正整数 a,b,c,满足+
,而且
,我们就将a,b,c 组成的三元组
称为勾股数。你能通过编程,数数有多少组勾股数,能够满足
吗?
输入格式
输入一行,包含一个正整数。约定
。
输出格式
输出一行,包含一个整数C,表示有C组满足条件的勾股数。
输入输出样例 #1
输入 #1
5
输出 #1
1
输入输出样例 #2
输入 #2
13
输出 #2
3
说明/提示
【样例解释 1】
满足的勾股数只有
一组。
【样例解释 2】
满足 的勾股数有
组,即
和
。
详解:
题目分析:
分析题目,本题属于枚举类问题,只需要循环枚举,找出所有符合要求的“勾股数”,并计数即可。代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,C=0;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
for(int k=j;k<=n;k++)
{
if(i*i+j*j==k*k)
{
C++;
}
}
}
}
cout<<C;
return 0;
}