社区讨论
求解释!!!
B4002[GESP202406 二级] 平方之和参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m0s9citv
- 此快照首次捕获于
- 2024/09/07 22:46 2 年前
- 此快照最后确认于
- 2025/11/04 21:34 4 个月前
我刚开始代码是这样的:
CPP#include <iostream>
using namespace std;
int n,a;
int main(){
ios::sync_with_stdio(false);
cin>>n;
while(n--){
cin>>a;
bool flag=false;
for(int x=1;x*x<=a;x++)
for(int y=1;y*y<=a;y++)
if(x*x+y*y==a){
flag=true;
break;
}
if(flag)cout<<"Yes\n";
else cout<<"No\n";
}
return 0;
}
分……
然后我又尝试了三目运算符
CPP然后我又尝试了三目运算符
#include <iostream>
using namespace std;
int n,a;
int main(){
ios::sync_with_stdio(false);
cin>>n;
while(n--){
cin>>a;
bool flag=false;
for(int x=1;x*x<=a;x++)
for(int y=1;y*y<=a;y++)
if(x*x+y*y==a){
flag=true;
break;
}
flag?cout<<"Yes\n":cout<<"No\n";
}
return 0;
}
还是 分
然后我就换了个思路:我把 给取反了(代码如下)
CPP然后我就换了个思路:我把 给取反了(代码如下)
#include <iostream>
using namespace std;
int n,a;
int main(){
ios::sync_with_stdio(false);
cin>>n;
while(n--){
cin>>a;
bool flag=false;
for(int x=1;x*x<=a;x++)
for(int y=1;y*y<=a;y++)
if(x*x+y*y==a){
flag=true;
break;
}
!flag?cout<<"No\n":cout<<"Yes\n";
}
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...