Cerința
Se citește un număr n și apoi n numere naturale. Să se verifice pentru fiecare număr dacă este pătrat perfect.
Date de intrare
Programul citește de la tastatură numărul n și n numere naturale.
Date de ieșire
Programul va afișa DA sau NU pe câte o linie dacă numărul citit este sau nu pătrat perfect.
Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000.000
Exemplu
Intrare
5
21 3 9 16 25
Ieșire
NU
NU
DA
DA
DA
Explicație
S-au citit 5 numere, s-a verificat dacă sunt pătrate perfecte și s-a afișat răspunsul corespunzător.
Răspunsuri la întrebare
Răspuns de
19
Pur și simplu afișezi textul după ce citești fiecare număr și verifici. Nu trebuie să le afișezi după numaidecât.
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int n, k, i;
cin>>n;
for(i = 0; i < n; i++){
cin>>k;
if(sqrt(k) == int(sqrt(k))) cout<<"DA"<<endl;
else cout<<"NU"<<endl;
}
}
Sau, dacă insiști să le stochezi la sfârșit, poți ține într-un vector numerele, să zicem 1 dacă trebuie afișat DA, și 0 dacă trebuie afișat NU.
v[1000], să zicem, și în for pui:
if(sqrt(k) == int(sqrt(k))) v[i] = 1;
else v[i] = 0;
Și la sfârșit faci iar un for, și dacă v[1] e 1, afișezi DA, altfel afișezi NU.
Alte întrebări interesante
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Istorie,
9 ani în urmă