Informatică, întrebare adresată de Watchalenging, 8 ani în urmă

Se da un vector format din n elemente, numere naturale. Calculati nr valorilor la care prima cifra este patrat perfect.

Răspunsuri la întrebare

Răspuns de OiLoveYouO
0

Răspuns:

#include <iostream>

using namespace std;

int i, n, v[100], x, prima_cif, k;

int main()

{

cin >> n;

for (i = 1; i<= n; i ++) cin >> v[i];

for (i = 1; i<= n; i ++) {

x = v[i];

if (x == 0) {

prima_cif = 0;

k ++;

}

while (x > 0) {

prima_cif = x%10;

x = x/10;

}

if (prima_cif == 1 || prima_cif == 4 || prima_cif == 9)

k ++;

}

cout << k;

return 0;

}

Explicație:

Programul cu comentarii:

#include <iostream>

using namespace std;

int i, n, v[100], x, prima_cif;

int main()

{

cin >> n;

for (i = 1; i<= n; i ++) cin >> v[i];

/*cifre patrat perfect: 0=0^2, 1=1^2, 4=2^2, 9=3^2

0 poate sa fie prima cifra a unui numar numai daca numarul e nul (numarul e chiar 0)*/

for (i = 1; i<= n; i ++) {

x = v[i]; //se copiaza valoare lui v[i] in x

if (x == 0) { //daca x=0 prima cifra e 0

prima_cif = 0;

k ++;

}

while (x > 0) { //algortim de aflare a primei cifre

prima_cif = x%10;

x = x/10;

}

if (prima_cif == 1 || prima_cif == 4 || prima_cif == 9)

k ++;

}

cout << k;

return 0;

}

Anexe:
Alte întrebări interesante