Rezolvare completă PbInfo #966 xmin

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.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema xmin:

//autor prof.Carmen Minca, Bucuresti
#include <iostream>
using namespace std;

int main()
{
    char cif;
    int r , s = 0 , k , c;
    cin >> k;
    for(int i = 1 ; i <= k ; i++)
    {
        cin >> cif; 
        s = s + cif - '0';
    }
    r = s % k; c = s / k;
    for(int i = 1 ; i <= k - r ; i++)
        cout << c;
    c ++;
    for(int i = 1 ; i <= r ; i ++)
        cout << c;
    
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #966 xmin

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #966 xmin de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!