B3845题解
描述一下:勾股数是很有趣的数学概念。如果三个正整数 a,b,c,满足 a
2
+b
2
=c
2
,而且 1≤a≤b≤c,我们就将 a,b,c 组成的三元组 (a,b,c) 称为勾股数。你能通过编程,数数有多少组勾股数,能够满足 c≤n 吗?
如果你学过循环嵌套,那就应该知道双层循环。不过我们今天要用到三层循环。
像这样:
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
for(int a=j;a<=n;a++){
如果把i×i+j×j=a×a加到if里,程序就完成大半了
这是完整的程序
#include<bits/stdc++.h>
using namespace std;
int n;
int main() {
cin>>n;
int sum=0;
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
for(int a=j;a<=n;a++){
if(i*i+j*j==a*a){
sum++;
}
}
}
}
cout<<sum;
}
谢谢观看。