0944 - Rest

From Bitnami MediaWiki
Revision as of 12:49, 20 May 2023 by Pop Giulia (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: [1]

Cerința[edit | edit source]

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[edit | edit source]

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

Date de ieșire[edit | edit source]

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

Restricții și precizări[edit | edit source]

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[edit | edit source]

Intrare

217 Ieșire

13

Explicație[edit | edit source]

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

Solutie[edit | edit source]

<syntaxhighlight lang="python" line> 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:

  1. Calculam restul

rest = n % nou_numar

  1. Actualizam restul maxim

rest_maxim = max(rest_maxim, rest) print(rest_maxim) </syntaxhighlight>