👤

Vă rog să îmi trimiteți rezolvarea în C++.


Cerința
Se citește un număr natural nenul n. Numărul n1 este format doar din cifrele pare ale lui n. Numărul n2 este format doar din cifrele impare ale lui n. Calculați valoarea absolută a diferenței lor.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran numărul d, reprezentând valoarea absolută a diferenței dintre n1 și n2.

Restricții și precizări
1 ≤ n < 1000000000
numărul n conține cel puțin o cifră pară și cel puțin o cifră impară


Răspuns :

#include <bits/stdc++.h>
using namespace std;

int main()
{
    string n, m1, m2;

    cin >> n;
    copy_if(begin(n), end(n), back_inserter(m1), [] (char c) { return ((c - '0') % 2) ? true : false; });
    copy_if(begin(n), end(n), back_inserter(m2), [] (char c) { return ((c - '0') % 2) ? false : true; });
    cout << abs(stoi(m1) - stoi(m2)) << '\n';
    return 0;
}