题目链接:https://ac.nowcoder.com/acm/contest/543/A
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。
现在兔子有一个序列,想要知道这个序列的名字是什么。
输入描述
第一行一个整数 n,表示序列的长度。
第二行有 n 个整数 ai,表示序列中的 n 个数分别是多少。
输出描述
输出仅一行,表示这个序列的名字,也就是这个序列中最大的非完全平方数。
输入
8
1 576 2 8 32 64 4 16
2
4 2
输出
2
32
备注:
对于 50%的数据
n = 1
对于 100%的数据
1≤ n ≤ 1000,1 ≤ ai ≤ 1000
数据保证至少有一个非完全平方数
解题思路
直接判断就可以了。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, x, ans, max_ = 0;
scanf("%d", &n);
for(int i = 0;i < n;i ++){
scanf("%d", &x);
ans = (int)sqrt(x);
if (ans * ans != x)
max_ = max(max_, x);
}
printf("%d\n", max_);
return 0;
}