Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă

Cerinţa
Se dau n numere naturale. Determinați cea mai mică bază de numerație b în care ar putea fi considerate aceste numere.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.

Date de ieşire
Programul afișează pe ecran numărul b, valoarea căutată.

Restricţii şi precizări
1 ≤ n ≤ 100
cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu
Intrare

5
1524 300024 10001 2034 543201
Ieșire

6
Rezolvarea vă rog în c++.Mulțumesc!

Răspunsuri la întrebare

Răspuns de lozanalex
0
#include <iostream>

using namespace std;

int cmmn(int x) //cel mai mare numar (din cifra) -cmmn
{
    int mx=-1,c;
    while (x>0)
    {
        c=x % 10;
        if (c>mx) mx=c;
        x/=10;
    }
    return mx;
}

int main()
{
    int n,x,mx=-1;
    cin >> n;
    for (; n; n--)
    {
        cin >> x;
        mx=max(mx,cmmn(x));
    }
    cout << mx+1;
    return 0;
}
Răspuns de express
3
#include <iostream>
using namespace std;
int n,i,x,cif,maxx;
int main()
{
   cin>>n;
   for(i=1;i<=n;i++)
    {
        cin>>x;
        while(x)
        {
            cif=x%10;
            if(cif>maxx) maxx=cif;
            x=x/10;
        }
    }
    cout<<maxx+1;

    return 0;
}

Alte întrebări interesante