Cho 1 mảng số nguyên a1,a2,a3,...an gồm n số. Hãy tìm số lớn nhất mà số đó không phải số chính phương. Biết rằng luôn có số không phải số chính phương. INPUT Dòng đâu tiên chứa số nguyên dương n(n≤1000) Dòng thứ 2, gồm n số nguyên a1,a2,...,an(a2i≤1012) OUTPUT Số lớn nhất không phải scp. input Copy 2 4 2 output Copy 2 https://lqdoj.edu.vn/problem/kh01 python nha
2 câu trả lời
import math
n = int(input())
a = input().split()
ma = -9999999999
def cp(n):
if n<0:
return False
x = math.sqrt(n)
x = math.trunc(x)
if x*x==n:
return True
return False
for i in a:
if cp(int(i))==False:
if int(i)>ma:
ma = int(i)
print(ma)
import math
n = input()
a = input().split()
b = list(filter(lambda x: x < 0 or math.sqrt(x) != math.trunc(math.sqrt(x)) , [int(i) for i in a]))
print(max(b))