牛客OI周赛8-普及组

兔子的序列

链接:https://ac.nowcoder.com/acm/contest/543/A
来源:牛客网
 

题目描述

兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。
现在兔子有一个序列,想要知道这个序列的名字是什么。

输入描述:

第一行一个整数 n,表示序列的长度。 
第二行有 n 个整数 ai,表示序列中的 n 个数分别是多少。

输出描述:

输出仅一行,表示这个序列的名字,也就是这个序列中最大的非完全平方数。

示例1

输入

复制

2
4 2

输出

复制

2

示例2

输入

复制

8
1 576 2 8 32 64 4 16

输出

复制

32

备注:

对于 50%的数据 
n = 1
对于 100%的数据 
1≤ n ≤ 1000,1 ≤ ai ≤ 1000
数据保证至少有一个非完全平方数

用sqrt()需谨慎。。。。。。。。。。

#include 
#include
#include
#include
using namespace std;
int a[1005];
bool cmp(int x,int y)
{
    return x>y;
}
int main()
{
    int n;
    cin >> n;
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    sort(a+1,a+1+n,cmp);
    for(int i=1;i<=n;i++)
    {
        int flag=0;
        int x=a[i];
        for(int j=1;jx)
                break;
            else
            {
                if(j*j==x)
                {
                    flag=1;
                    break;
                }
            }
        }
        if(!flag)
        {
            cout<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(牛客OI周赛8-普及组)