Bài toán. Liệt kê các số chính phương có trong dãy số a. Nếu không có ghi số -1. Ví dụ:
SOCP.INP |
SOCP.OUT |
10 3 4 7 5 9 3 16 21 36 8 |
4 9 16 36 |
Code tham khảo:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
freopen("SOCP.INP","r",stdin);
freopen("SOCP.OUT","w",stdout);
int n, a[1000];
cin >> n;
for(int i=0; i < n; i++) {
cin >> a[i];
}
int p = 0;
for(int i = 1; i < n; i++)
if(sqrt(a[i]) == trunc(sqrt(a[i]))) {
cout << a[i] << " ";
p = 1;
}
if(p == 0) cout << -1;
return 0;
}