0944 - Rest: Difference between revisions

From Bitnami MediaWiki
Pop Giulia (talk | contribs)
Pagină nouă: ==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...
 
Pop Giulia (talk | contribs)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/944/rest]
==Cerința==
==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.
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.
Line 21: Line 23:
217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13.
217:17=12 rest 13, 217:27=8 rest 1, 217:21=10 rest 7, deci restul maxim obținut este 13.
==Solutie==
==Solutie==
if_name_==_main_':
<syntaxhighlight lang="python" line>
n = input()
n = input()
rest_maxim = -1
rest_maxim = -1
Line 32: Line 34:
rest_maxim = max(rest_maxim, rest)
rest_maxim = max(rest_maxim, rest)
print(rest_maxim)
print(rest_maxim)
</syntaxhighlight>

Latest revision as of 12:49, 20 May 2023

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>