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>usingnamespacestd;intmain() {    freopen("SOCP.INP","r",stdin);    freopen("SOCP.OUT","w",stdout);    intn, a[1000];    cin >> n;    for(inti=0; i < n; i++) {        cin >> a[i];    }    intp = 0;    for(inti = 1; i < n; i++)        if(sqrt(a[i]) == trunc(sqrt(a[i]))) {            cout << a[i] << " ";            p = 1;        }    if(p == 0) cout << -1;    return0;} | 
Các bạn có thể code và chấm thử ở đây


 
 
 
