3925 - Rest1: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerință== Se dau numerele naturale '''n''', '''c''' și '''r'''. Să se determine numărul minim '''m''', strict mai mare decât '''n''', care dă restul '''r''' prin împărțire la '''c'''. ==Date de intrare== Programul citește de la tastatură numerele '''n''', '''c''' și '''r'''. ==Date de ieșire== Programul va afișa pe ecran numărul '''m'''. ==Restricții și precizări== *1 ≤ '''n''' ≤ 1.000.000.000.000 *0 ≤ '''r''' < '''c''' ≤ 1.000.000.000.000 ==E...
 
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
Programul va afișa pe ecran numărul '''m'''.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul '''m'''. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."


==Restricții și precizări==
==Restricții și precizări==
Line 18: Line 18:


;Ieșire
;Ieșire
 
:Datele de intrare corespund restricțiilor impuse.
:36
:36



Latest revision as of 18:09, 22 April 2023

Cerință[edit]

Se dau numerele naturale n, c și r. Să se determine numărul minim m, strict mai mare decât n, care dă restul r prin împărțire la c.

Date de intrare[edit]

Programul citește de la tastatură numerele n, c și r.

Date de ieșire[edit]

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

Restricții și precizări[edit]

  • 1 ≤ n ≤ 1.000.000.000.000
  • 0 ≤ r < c ≤ 1.000.000.000.000

Exemplul 1[edit]

Intrare
30 7 1
Ieșire
Datele de intrare corespund restricțiilor impuse.
36

Rezolvare[edit]

Rezolvare ver. 1[edit]

<syntaxhighlight lang="python" line="1" start="1"> def validare(n, c, r):

   # Verifica daca n este intre 1 si 1000000000000
   if n < 1 or n > 1000000000000:
       return False
   # Verifica daca c este intre 0 si 1000000000000
   if c < 0 or c > 1000000000000:
       return False
   # Verifica daca r este intre 0 si c-1
   if r < 0 or r >= c:
       return False
   # Daca toate conditiile sunt indeplinite, returneaza True
   return True


def numar_minim(n, c, r):

   m = n + 1
   # Cat timp restul impartirii lui m la c nu este egal cu r, adauga 1 la m
   while m % c != r:
       m += 1
   return m


if __name__ == "__main__":

   # Citirea datelor de intrare
   n, c, r = map(int, input().split())
   # Verificarea datelor de intrare și calculul valorilor cerute
   if validare(n, c, r):
       # Afiseaza un mesaj de confirmare a datelor de intrare valide
       print("Datele de intrare corespund restricțiilor impuse.")
       # Afiseaza rezultatul apelarii functiei numar_minim cu parametrii specificati
       print(numar_minim(n, c, r))
   else:
       # Afiseaza un mesaj de eroare daca datele de intrare nu sunt valide
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>