Descripción general:
un número entero p>1 se llama número primo , o primo si los únicos divisores positivos de p son 1 y p. Un entero q>1 que no es primo se llama compuesto.
Ejemplo:
los números enteros 2,3,5,7 y 11 son números primos y los números enteros 4,6,8 y 9 son compuestos.
Teorema-1:
Un entero p>1 es primo si y solo si para todos los enteros ayb, p divide ab implica que p divide a o p divide a b.
Ejemplo:
considere el número entero 12. Ahora 12 divide 120 = 30 x 4 pero 12|30 y 12|4. Por lo tanto, 12 no es primo.
Teorema-2:
Todo número entero n>=2 tiene un factor primo.
Teorema-3:
Si n es un número entero compuesto, entonces n tiene un factor primo que no excede √n.
Ejemplo-1:
¿Determina cuáles de los siguientes números enteros son primos?
a) 293 b) 9823
Solución –
- Primero encontramos todos los primos p tales que p 2 < = 293. Estos primos son 2, 3, 5, 7, 11, 13 y 17. Ahora, ninguno de estos primos divide a 293. Por lo tanto, 293 es un primo.
- Consideramos primos p tales que p2< = 9823. Estos primos son 2,3,5,7,11,13,17, etc. Ninguno de 2,3,5,7 puede dividir a 9823. Sin embargo, 11 divide a 9823. Por lo tanto , 9823 no es un número primo.
Ejemplo-2:
Sea n un entero positivo tal que n 2 -1 es primo. Entonces n =?
Solución –
Podemos escribir, n 2 -1 = (n-1)(n 2 +n+1). Como n 3 -1 es primo, n-1 = 1 o n 2 +n+1 = 1. Ahora n>=1, entonces n 2 +n+1 > 1, es decir, n 2 +n+1 != 1. Por tanto, debemos tener n-1 = 1. Esto implica que n=2.
Ejemplo-3:
Sea p un número primo tal que mcd(a, p 3 )=p y mcd(b,p 4 )=p. Encuentre mcd(ab,p 7 ).
Solución –
Por la condición dada, mcd(a,p 3 )=p. Por lo tanto, p | una. Además, p 2 |a.(Porque si p 2 | a, entonces mcd (a,p 3 )>=p 2 >p, lo cual es una contradicción.) Ahora a puede escribirse como un producto de potencias primas. Porque p|ayp 2 | a, se sigue que p aparece como factor en la factorización prima de a, pero p k , donde k>=2, no aparece en esa factorización prima. De manera similar, mcd(b,p 4 )=p implica que p|b y p 2 |b. Como antes, se sigue que p aparece como un factor en la descomposición en factores primos de a, pero p k , donde k>=2, no aparece en esa descomposición en factores primos. Ahora se sigue que p2 |ab yp 3 |ab. Por lo tanto, mcd(b,p 7 ) = p 2 .
Algoritmo de prueba de primalidad:
for i: [2,N-1] if i divides N return "Composite" return "Prime"
Ejemplo –
Tomemos un ejemplo y hace que el algoritmo sea más eficiente, 36=
1×36 |
2×18 |
3×12 |
(a=4)x(b=9) |
6×6 |
9×4 (repetido) |
12×3 (repetido) |
18×2 (repetido) |
36×1 (repetido) |
Take the inputs of a and b until, a<=b a . b = N a . N/a = N
Algoritmo modificado:
for i : [2,√n] if i divides N return "Composite" return "Prime"
C++
// C++ program to check primality of a number #include <bits/stdc++.h> using namespace std; bool is_prime(int n){ for(int i = 2; i * i <= n; i++){ if(n % i == 0){ return false; //if the number is composite or not prime. } } return true; // number is prime. } int main() { int n; cin >> n; cout << is_prime(n) ? "prime" : "composite"; return 0; }
Java
// Java program to check primality of a number /*package whatever //do not write package name here */ import java.util.*; class prime{ public Boolean is_prime(int n){ for(int i = 2; i * i <= n; i++){ if(n % i == 0){ return false; //if the number is composite or not prime. } } return true; // number is prime. } } class GFG { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); prime ob = new prime(); System.out.println(ob.is_prime(n) ? "Prime" : "Composite"); } }
Python3
# Python program to check primality of a number import math def is_prime(n): for i in range(2, int(math.sqrt(n))): if(n % i == 0): return False # if the number is composite or not prime. return True # number is prime. if __name__ == "__main__": n = int(input()) if is_prime(n): print("prime") else: print("composite") # This code is contributed by rakeshsahni
Javascript
<script> // JavaScript program to check primality of a number function is_prime(n) { for(var i = 2; i * i <= n; i++) { if(n % i == 0){ return false; // if the number is composite or not prime. } } return true; // number is prime. } var n; document.write(is_prime(n) ? "prime" : "composite"); // This code is contributed by shivanisinghss2110 </script>
Algoritmo para encontrar números primos:
En matemáticas, la criba de Eratóstenes es un antiguo algoritmo para encontrar todos los números primos hasta cualquier límite dado.
Algorithm Sieve of Eratosthenes is input: an integer n > 1. output : all prime numbers from 2 through n. let A be an array of Boolean values, indexed by integers 2 to n, initially all set to true. for i = 2, 3, 4, ..., not exceeding √n do if A[i] is true for j = i2, i2+i, i2+2i, i2+3i, ..., not exceeding n do A[j] := false return all i such that A[i] is true.
Publicación traducida automáticamente
Artículo escrito por 29ranjan2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA