牛客网--20865--兔子的序列

题目描述:
兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。
现在兔子有一个序列,想要知道这个序列的名字是什么。
输入描述:
第一行一个整数 n,表示序列的长度。
第二行有 n 个整数 ai,表示序列中的 n 个数分别是多少。
输出描述:
输出仅一行,表示这个序列的名字,也就是这个序列中最大的非完全平方数。
输入:
2
4 2
8
1 576 2 8 32 64 4 16
输出:
2
32
题意:
题目描述
题解
排序一下,从大到小找
代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<iostream>
using namespace std;

int n;
const int maxn = 1000 + 5;
int a[maxn];

int main(){
    while(scanf("%d",&n)!=EOF){
        for(int i = 1; i <= n; i ++) scanf("%d",&a[i]);
        sort(a + 1,a + n + 1);
        for(int i = n; i >= 1; i --){
            int t = sqrt(a[i]);
            if(t * t != a[i]){
                printf("%d\n",a[i]);
                break;
            }
        }

    }
    return 0;
}

发布了228 篇原创文章 · 获赞 1 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Ypopstar/article/details/105166393