Cerinţa
Se dă un vector cu n numere naturale. Să se determine câte dintre perechile de elemente din vector au același număr de cifre.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorului.
Date de ieşire
Programul afișează pe ecran numărul c, reprezentând valoarea cerută.
Restricţii şi precizări
1 ≤ n ≤ 100000
elementele vectorului vor fi cuprinse între 0 și 1000000000
Exemplu
Intrare
6
13 3 8 700 9 25
Ieșire
4
Explicație
Perechile de elemente cu același număr de cifre sunt:
3 8 – cu câte o cifră
3 9 – cu câte o cifră
8 9 – cu câte o cifră
13 25 – cu câte 2 cifre
Răspunsuri la întrebare
Răspuns de
2
Salut!
Ai rezolvarea in C++ mai jos
#include <iostream>
using namespace std;
const int N = 100000;
int f[11], n, a[N + 1], nrCif;
long long cnt;
int main() {
cin >> n;
for (int i = 1; i <= n; ++i) {
nrCif = 0;
cin >> a[i];
if (a[i] < 10) {
nrCif = 1;
}
else {
while (a[i]) {
nrCif++;
a[i] /= 10;
}
}
f[nrCif]++;
}
for (int i = 1; i <= 10; ++i) {
cnt += 1LL*f[i]*(f[i] - 1)/2;
}
cout << cnt;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă