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:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 | #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;} |
Các bạn có thể code và chấm thử ở đây


