题目链接: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;
}