0426 - Baza B: Difference between revisions

From Bitnami MediaWiki
No edit summary
Line 5: Line 5:
Programul citește de la tastatură două numere naturale '''numar,  baza''' .
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ă.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
 
==Restricții de precizări==
==Restricții de precizări==
*1 ⩽ '''numar'''  ⩽ 1.000.000.000
*1 ⩽ '''numar'''  ⩽ 1.000.000.000

Revision as of 18:39, 22 April 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

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

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>