0426 - Baza B: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
==Cerință== | ==Cerință== | ||
Se dă un număr natural ''' | Se dă un număr natural '''numar''' și o bază de numerație '''baza'''. Să se determine cea mai mare cifră a reprezentării lui '''numar''' în baza '''baza'''. | ||
==Date de intrare== | ==Date de intrare== | ||
Programul citește de la tastatură două numere naturale ''' | Programul citește de la tastatură două numere naturale '''numar, baza''' . | ||
==Date de ieșire== | ==Date de ieșire== | ||
Programul afișează pe ecran valoarea cerută. | Programul afișează pe ecran valoarea cerută. | ||
==Restricții de precizări== | ==Restricții de precizări== | ||
*1 ⩽ ''' | *1 ⩽ '''numar''' ⩽ 1.000.000.000 | ||
*2 ⩽ ''' | *2 ⩽ '''baza''' ⩽ 10 | ||
== | ==Exemplu== | ||
;Intrare | ;Intrare | ||
Line 24: | Line 24: | ||
:4 | :4 | ||
== Rezolvare ver. 1 == | ==Rezolvare== | ||
=== Rezolvare ver. 1 === | |||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def validare_date( | def validare_date(numar, baza): | ||
return | return numar.isdigit() and 1 <= int(numar) <= 10000 and baza.isdigit() and 1 <= int(baza) <= 10 | ||
def max_cifra( | |||
def max_cifra(numar, baza): | |||
max_cifra = 0 | max_cifra = 0 | ||
while | while numar > 0: | ||
cifra = | cifra = numar % baza | ||
if cifra > max_cifra: | |||
max_cifra = cifra | |||
numar //= baza | |||
print(max_cifra) | |||
if __name__ == '__main__': | if __name__ == '__main__': | ||
numar = input("Introduceți numărul n: ") | |||
baza = input("Introduceți baza de numerație b: ") | |||
if validare_date( | if validare_date(numar, baza): | ||
numar, baza = int(numar), int(baza) | |||
print("Datele de intrare corespund restricțiilor impuse.") | print("Datele de intrare corespund restricțiilor impuse.") | ||
max_cifra( | max_cifra(numar, baza) | ||
else: | else: | ||
print("Datele de intrare nu corespund restricțiilor impuse.") | print("Datele de intrare nu corespund restricțiilor impuse.") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:05, 19 March 2023
Cerință
Se dă un număr natural numar și o bază de numerație baza. Să se determine cea mai mare cifră a reprezentării lui numar în baza baza.
Date de intrare
Programul citește de la tastatură două numere naturale numar, baza .
Date de ieșire
Programul afișează pe ecran valoarea cerută.
Restricții de precizări
- 1 ⩽ numar ⩽ 1.000.000.000
- 2 ⩽ baza ⩽ 10
Exemplu
- Intrare
- 878
- 6
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 4
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare_date(numar, baza):
return numar.isdigit() and 1 <= int(numar) <= 10000 and baza.isdigit() and 1 <= int(baza) <= 10
def max_cifra(numar, baza):
max_cifra = 0
while numar > 0: cifra = numar % baza if cifra > max_cifra: max_cifra = cifra numar //= baza
print(max_cifra)
if __name__ == '__main__':
numar = input("Introduceți numărul n: ") baza = input("Introduceți baza de numerație b: ")
if validare_date(numar, baza): numar, baza = int(numar), int(baza) print("Datele de intrare corespund restricțiilor impuse.") max_cifra(numar, baza) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>