0
已解决
黄品翔
初级光能
初级光能
题目描述 Description
使用一个函数来判断这个数是否是完全平方数,即这个数能否被两个一样的数字相乘得到,如果是,则输出Yes,否则输出No。
输入描述 Input Description
输入一个数字n
输出描述 Output Description
输出Yes 或者 No
样例输入 Sample Input
9
样例输出 Sample Output
Yes
数据范围及提示 Data Size & Hint
1<=n<=1000
难道不是用 sqrt 就行了吗?
为什么是:
错误代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,n=0;
cin>>a;
n=sqrt(a);
if(n==0)
{
cout<<"No";
}
else cout<<"Yes";
return 0;
}
请各位大佬帮忙找错,谢谢!!!
黄品翔在2019-04-01 18:45:30追加了内容
80分代码:
#include<bits/stdc++.h>
using namespace std;
bool pd(int n)
{
for(int i=1;i<=n;i++)
{
if (n/i==i)
return true;
}
return false;
}
int main()
{
int n;
cin>>n;
if(pd(n))
{
cout<<"Yes";
}
else cout<<"No";
return 0;
}
@朱智霖
0
已采纳
李泽远
高级天翼
高级天翼
pd中的代码改成:
for(int i=1;i<=sqrt(n);i++)
if(i*i==n)
return true;
return false;
Plus:我知道已经晚了,此问题发布已经10个多月了(手动滑稽)。
0
0
0
0
李素妍
新手天翼
新手天翼
#include<iostream> #include<cstdio> using namespace std; int n,a; void f(); int main() { cin>>n; f(); return 0; } void f(){ for(int i=1;i<=n;i++){ if(n==i*i){ cout<<"Yes"; return ; } } cout<<"No"; }
0