Bài 57:
Xác định bài toán:
input: số nguyên dương N và dãy a1, a2,..., aN
output: đưa ra vị trí các phần tử là số chính phương trong dãy
Thuật toán:
Số chính phương là số có căn bậc hai là một số nguyên
Biểu thức toán học: căn u=[căn u]
Nhập dãy vào mảng a[i]
Duyệt từ đầu đến cuối dãy, nếu a[i] là số chính phương thì đưa vị trí i ra mỗi giá trị tìm được cách nhau 1 dấu cách
Code:
from math import sqrt
from math import trunc
n= int(input())
a= list()
for i in range(0,n):
a.append(int(input()))
for i in range(0,n):
if sqrt(a[i]) == int(sqrt(a[i])):
print(i)
Test:
N=4, dãy 3 1 4 5
Kết quả: 2 3