# PBinfo #3905 – suma-perm-n9 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Scrieți un program care citește un număr natural n și care să calculeze și să afișeze suma S a tuturor numerelor obținute prin rearanjarea cifrelor lui n. Numărul n are toate cifrele distincte.

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

Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma cerută.

Restricții și precizări

n are cel mult 9 cifre și are cifrele distincte.

Exemplu:
Intrare

123
Ieșire

1332
Explicație
Numere obținute din 123 prin amestecarea cifrelor sunt 123, 132, 213, 231, 312 și 321, iar suma lor este 1332.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    int n, sc = 0, nc = 0, x = 0, f = 1;
    cin >> n;
    if (n == 0) nc =1;
    while (n > 0) {
        x = x * 10 + 1;
        nc++;
        f = f * nc;
        sc = sc + n % 10;
        n = n / 10;
    } f = f / nc;
    cout << 1LL * f * x * sc;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3905)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3905/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3905/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
