Informatică, întrebare adresată de silvia001, 9 ani în urmă

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 ionutg38
3
#include <iostream> using namespace std; int n , r , maxim , m; long long p; int main() { cin>>n; r=n; p=1; maxim=-1; while(r!=0) { m = (n / (10 * p)) * p + n % p; if(m != 0) if(n % m > maxim) maxim = n % m; r = n / (10 * p); p = p * 10; } cout << maxim; return 0; }
Alte întrebări interesante