3237 - GCDnot1

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.

Cerinta

Se dau m şi n numere naturale nenule. Să se determine două numere naturale a şi b astfel încât c.m.m.d.c.(a + i , b + j) > 1 pentru orice i = 0 , m-1 şi orice j = 0 , n-1.

Date de intrare

Programul citește de la tastatură numerele m şi n.

Date de iesire

Programul va afișa pe ecran numerele a şi b.

Restrictii si precizari

  • 1 ⩽ m , n ⩽ 5
  • numerele a şi b vor avea cel mult 18 cifre fiecare

Exemplul 1

Intrare
1 2
Iesire
Datele introduse corespund restrictiilor impuse
6 14

Exemplul 2

Intrare
0 100
Iesire
Datele introduse nu corespund restrictiilor impuse


Rezolvare

def este_prim(numar):
    if numar < 2:
        return False
    for i in range(2, int(numar ** 0.5) + 1):
        if numar % i == 0:
            return False
    return True

def gaseste_numere_prime(m, n):
    for a in range(2, 1000):
        for b in range(a + 1, a + 1000):
            if all(este_prim(a) and este_prim(b) and este_prim(a + n) and este_prim(b + m) and este_prim(a + i) and este_prim(b + j) for i in range(m) for j in range(n)):
                return a, b

# Citire date de intrare
m = int(input("Introduceți m: "))
n = int(input("Introduceți n: "))

# Găsire numere a și b
a, b = gaseste_numere_prime(m, n)

# Afișare rezultat
print(f"Numerele a și b sunt: {a}, {b}")

Explicatie

Avem (6 , 14) = 2 > 1 şi (6 , 15) = 3 > 1.