Gửi bài giải
Điểm:
4,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Nhập vào số nguyên dương ~N~(~1 \le N \le 10^5~) và dãy gồm ~N~ số nguyên ~A_1,A_2,A_3,...,A_N~ (~|A_i| \le 10^9~).
Yêu cầu: In ra các số chính phương có trong dãy vừa nhập. Số chính phương là số có căn bậc hai cũng là một số tự nhiên. Ví dụ: số 4 là số chính phương vì căn bậc 2 của 4 bằng 2.
Dữ liệu vào:
- Dòng 1: Số nguyên dương ~N~.
- Dòng 2: ghi ~N~ số nguyên ~A_1,A_2,A_3,...,A_N~.
Dữ liệu ra:
- Các số chính phương có trong dãy.
Ví dụ
Input
5
4 3 2 9 -5
Output
4 9
Bình luận
include<bits/stdc++.h>
using namespace std; long long i,n,a[1000005]; void nhap() { cin>>n;for(int i=1;i<=n;i++)cin>>a[i];} bool cp(int k) { if(sqrt(k)==trunc(sqrt(k))) return true; return false; } int main() { nhap(); for(int i=1;i<=n;i++) if(cp(a[i])) cout<<a[i]<<' '; return 0; }