3925 - Rest1

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

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

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

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

Exemplul 1

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

Rezolvare

Rezolvare ver. 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.")