Fie X
un număr natural format din exact K
cifre, toate nenule, iar S
suma cifrelor lui X
. Pornind de la aceste numere, se construiește mulțimea M
a tuturor numerelor naturale care:
- au suma cifrelor egală cu
S
- sunt formate fiecare din exact
K
cifre, toate cifrele fiind nenule.
Pentru fiecare număr din mulțimea M
se calculează produsul cifrelor sale. Fie P
valoarea maximă a produselor calculate.
Cel mai mic număr din mulțimea M
care are produsul cifrelor egal cu P
îl vom denumi elementul primar al mulțimii.
Cerinţă
Scrieţi un program care să citească numerele K
și X
(cu semnificația din enunț) şi care să determine elementul primar al mulțimii M
.
Date de intrare
Programul citește de la tastatură numerele K X
, numărul X
fiind format din K
cifre.
Date de ieșire
Programul va afișa pe ecran un număr natural de K
cifre reprezentând elementul primar al mulțimii M
.
Restricții și precizări
1 ≤ K ≤ 33
- toate cifrele lui
X
sunt nenule
Exemplu
Intrare
3 124
Ieșire
223
Explicație
Suma cifrelor numărului X=124
este S=7
, iar mulțimea construită este: M = {115,151,511,124,142,214,241,412,421,133,313, 331,223,232,322}
. Se obţin următoarele valori ale produselor cifrelor numerelor din M
: 5,5,5,8,8,8,8,8,8,9,9,9,12,12,12
. Valoarea P=12
se obţine pentru numerele: 223
, 232
și 322
, iar cel mai mic număr dintre acestea este 223
. Astfel, elementul primar al mulțimii M
este 223
.
#include <bits/stdc++.h> using namespace std; int k, a[101]; char n[40]; int main(){ cin >> k; cin >> n; int sum = 0; int i = 0; while(n[i]){ sum += (int)(n[i] - '0'); i++; } int poz = 1; while(k){ a[poz] = sum / k; sum -= a[poz]; poz++; k--; } sort(a + 1, a + poz); for(int i = 1; i < poz; ++i) cout << a[i]; return 0; }