兔子发现了一个数字序列,于是开始研究它。兔子认为一个序列应该有一个名字,它应该与它有关。因为兔子讨厌完全平方数,兔子创造了一种新的命名方法:这个序列中最大的数字不是完全平方数就是他的名字。 现在兔子有一个序列,想知道这个序列的名字是什么。 一行整数 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
;
}