首页 > 试题广场 >

兔子的序列

[编程题]兔子的序列
  • 热度指数:6528 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。
现在兔子有一个序列,想要知道这个序列的名字是什么。

输入描述:
第一行一个整数 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
数据保证至少有一个非完全平方数
n = eval(input())
arr = list(map(int,input().split()))
arr.sort(reverse=True)
for i in arr:
    if pow(i,0.5)%1 != 0:
        print(i)
        break

发表于 2024-09-27 17:08:49 回复(0)
列表排序reverse=True,逐一排查
n = int(input())
a = list(map(int,input().split()))

a.sort(reverse=True)
for i in a:
    if i**0.5 != int(i**0.5):
        print(i)
        break


发表于 2024-02-14 18:19:18 回复(0)
import math
n=int(input())
list_a=list(map(int,input().split()))
for i in list_a:
    if int(math.sqrt(i))**2==i:
        list_a.remove(i)
print(max(list_a))

发表于 2023-02-08 22:42:16 回复(0)