423
Cerința
Se dă un vector cu n numere naturale. Să se determine câte dintre perechile de elemente din vector sunt formate din valori cu aceeași sumă a cifrelor.
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 ≤ 100.000- cele
nnumere citite vor fi mai mici decât1.000.000.000
Exemplu
Intrare
6 51 842 15 28 77 132
Ieșire
4
Explicație
Perechile de elemente cu aceeaşi sumă cifrelor sunt:
51 15
51 132
842 77
15 132
#include <bits/stdc++.h>
using namespace std;
int f[101];
int sumcif(int n)
{
int s=0;
while(n)
s+=n%10 , n/=10;
return s;
}
int main()
{
int n;
cin >> n;
int x;
for(int i = 1 ; i <= n ; ++i)
cin >> x , f[sumcif(x)]++;
int cnt=0;
for(int i = 1 ; i <= 100 ; ++i)
if(f[i]>1)
cnt = cnt + (f[i]*(f[i]-1)/2);
cout << cnt;
return 0;
}
Comentarii