社区讨论

红题WA

灌水区参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lz2nqx2o
此快照首次捕获于
2024/07/26 20:07
2 年前
此快照最后确认于
2024/07/26 20:12
2 年前
查看原帖
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 组满足条件的勾股数。
CPP
#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;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...