3237 - GCDnot1: Difference between revisions
Pagină nouă: == 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 ;I... |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== Cerinta == | == 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. | 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 == | == Date de intrare == | ||
Programul citește de la tastatură numerele m şi n. | Programul citește de la tastatură numerele '''m''' şi '''n'''. | ||
== Date de iesire == | == Date de iesire == | ||
Programul va afișa pe ecran numerele a şi b. | Programul va afișa pe ecran numerele '''a''' şi '''b'''. | ||
== Restrictii si precizari == | == Restrictii si precizari == | ||
*1 | *1 ⩽ m , n ⩽ 5 | ||
*numerele a şi b vor avea cel mult 18 cifre fiecare | *numerele a şi b vor avea cel mult 18 cifre fiecare | ||
| Line 20: | Line 20: | ||
:1 2 | :1 2 | ||
;Iesire | ;Iesire | ||
:Datele introduse corespund restrictiilor impuse | |||
:6 14 | :6 14 | ||
| Line 27: | Line 27: | ||
:0 100 | :0 100 | ||
;Iesire | ;Iesire | ||
:Datele introduse nu corespund restrictiilor impuse | |||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python3" line="1"> | <syntaxhighlight lang="python3" line="1"> | ||
def | def este_prim(numar): | ||
if numar < 2: | |||
return False | |||
return | for i in range(2, int(numar ** 0.5) + 1): | ||
if numar % i == 0: | |||
return False | |||
return True | |||
def | 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}") | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 11:31, 29 December 2023
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
<syntaxhighlight lang="python3" line="1"> 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}")
</syntaxhighlight>
Explicatie
Avem (6 , 14) = 2 > 1 şi (6 , 15) = 3 > 1.