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
Kcifre, 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
Xsunt 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;
}