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ăspunsuri la întrebare
Răspuns de
0
#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";
}
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Fizică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
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";
}