👤

Cerința Se dă n un număr natural. Aflați restul maxim care se poate obține dacă împărțim numărul n la orice număr care se obține prin eliminarea unei cifre a sa.

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

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

Restricții și precizări
10 ≤ n ≤ 2.000.000.000 dacă prin eliminarea unei cifre se obține numărul 0, atunci n nu se va împărți la 0.

Exemplu
Intrare: 217
Ieșire: 13

Explicație
217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13.


Răspuns :

#include <iostream>using namespace std;int a[12],n,lg;int main(){    int i,numar,sol=0,x,j;    cin>>n;    numar=n;    while(n)    {        a[++lg]=n%10;        n/=10;    }    for(i=lg;i>=1;i--)    {        x=0;        for(j=lg;j>=1;j--)        {            if(j!=i)              x=x*10+a[j];        }        sol=max(sol,numar%x);    }    cout<<sol<<"\n";
}