0944 - Rest

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Sursa: [1]

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 ale sale.

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.

Solutie

n = input()
rest_maxim = -1
for i in range(len(n)):
nou_numar = int(n[:i] + n[i+1:])
if nou_numar != 0 and n % nou_numar == 0:
# Calculam restul
rest = n % nou_numar
# Actualizam restul maxim
rest_maxim = max(rest_maxim, rest)
print(rest_maxim)