37 条题解
-
0
1:最最最简洁的代码
#include <bits/stdc++.h> using namespace std; int main() { cout<<"N"; }
(不建议)
2正常代码
#include <bits/stdc++.h> using namespace std; int main() { double n; cin>>n; if(floor(sqrt(n))==sqrt(n)) cout<<"Y"; else cout<<"N"; }
很明显,如果n不是王权平方数,sqrt不是整数,所以随便弄一个向下取整,向下取整,四舍五入判断和原数是否相等就好了
-
-1
整体思路很简单,就是列出全部平方数然后看有没有与n相同的
#include <bits/stdc++.h>//万能头 using namespace std; int main() { int n;//定义变量n cin >> n;//输入变量n(要判断的数) for (int i=1;i<=n;i++)//做循环从1的平方开始检验 { if (i*i == n)//判断是不是i的平方 { cout << "Y";//如果是就输出Y break;//打破循环 } if (i == n)//判断循环是否要结束了还没有被打破(代表没有与n相同的平方数) { cout << "N";//输出N } } return 0;//结束代码 }
-
-1
可以借助num来判断n是不是平方数
#include <iostream> using namespace std; int main() { int n, num = 1;//先把num赋值为1 cin >> n; for(int i = 1; i <= n; i++) { if (i * i == n)//如果n是平方数,就把num赋值为0并用break结束循环 { cout << "Y"; num = 0; break; } } if (num == 1)//这时如果num还是1,就表示n不是平方数 { cout << "N"; } return 0; }
信息
- ID
- 1114
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 2
- 标签
- 递交数
- 2468
- 已通过
- 1464
- 上传者