You are on page 1of 13

Diseo de un software para determinar si un numero dado es primo o no Y su aplicacin en la obtencin de nmeros primos de mersenne y perfectos pares:

Leobaldo Jaimes jaimesleobaldo@gmail.com Resumen En este breve artculo se presenta un software diseado con matlab 6.5 el cual permite determinar si un numero dado es primo o no; Dicho programa est fundamentado en tres certificados basados en algunos teoremas, Se concluye con la verificacin y comprobacin de algunos ejemplos hasta nmeros con nueve dgitos motivado a la limitaciones en este lenguaje de programacin, lo que nos conduce a proponer su diseo en otros lenguajes tales como fortran; cc#; pascal; entre otros.

Palabras clave: Nmeros primos de mersenne; Perfectos pares; Matlab 6.5

Abstract This short paper presents a MATLAB 6.5 software designed with which to determine whether a given number is prime or not; This program is based on three certificates based on some theorems, we conclude with the verification and testing examples to numbers nine digits motivated the limitations in this programming language, which leads us to propose the design in other languages such as Fortran, cc #, Pascal, and others.

Keywords: Mersenne primes; even perfect number; Matlab 6.5

Introduccin: Para la realizacin del diseo del software que se presenta en este artculo, se utiliz el programa de aplicacin Matlab 6.5 el cual permite obtener resultados hasta de nueve dgitos significativos y la prueba de primalidad est fundamentada por tres certificados basados en tres teoremas; La determinacin para saber si un numero dado es primo o no tiene como principal argumento lo expuesto por y segn (Nieves; R. 2009) relacionado con el teorema: 2. Y de acuerdo a lo explicado por. (Gardner; M. 1986) en lo referente a los nmeros perfectos pares los cuales son obtenidos con un ecuacin perteneciente a Euclides y que estn debidamente expresados por el Teorema: 1 y sobre las consecuencias que conducen las deducciones inmediatas para establecer la validez del Teorema: 3 lo cual garantiza la efectividad de este software; segn (Jimnez; 1999) existe una frmula que permite determinar cualquier nmero poligonal y dicha expresin cumple un rol fundamental en el diseo y certificacin del software en lo referente a la confirmacin; verificacin y comprobacin del teorema: 1

Quedando en manos de la comunidad cientfica su optimizacin con otros lenguajes de programacin ampliando su capacidad.

Marco Terico:

Certificado: 1 Teorema: 1 Todo nmero perfecto par es un nmero triangular2 (Hexagonal) Certificado: 2 Teorema: 2 Todo producto de dos primos impares distintos; tiene cuatro y solo cuatro divisores3 Certificado: 3 Teorema: 3 Si: 2p-1 . 2p -1 es un nmero perfecto par: Cuando: 2p -1 es un primo de mersenne. Entonces: Dicho perfecto es el: (2p -1)-simo nmero triangular Y adems es el: (2p )-simo nmero hexagonal.

Programa para determinar si un nmero dado es primo o no Y adems para saber si este nmero primo es primo de mersenne o no:

1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25) 26)

for m=input ('introduzca el nmero tres: '); end for n=input ('introduzca un nmero primo: '); end x=m-2 y=x*n^2 z=m-4 w=z*n s=y-w g=2*n f=s/g disp ('Si: "f" es Potencia de Dos ') v=s/2 disp ('Entonces: "v" es Triangular y Perfecto'); end for m=input ('introduzca el nmero seis: '); end for n=input ('introduzca la potencia de dos anterior: '); end x=m-2 y=x*n^2 z=m-4 w=z*n s=y-w g=2*n f=s/g disp ('Si: "f" es primo de mersenne ') v=s/2 disp ('Entonces: "v" es hexagonal y Perfecto'); end

Optimizacin del programa con el uso de la prueba de primalidad de Nieves : 1) %t=cputime; 2) for n=input ('Introduzca un nmero Impar natural: ');k=(n-1)/2;m=1:k-1;end 3) z=10*k+5; 4) y=10*m+5; 5) rem(z,y)==0; 6) if(ans)==0 7) el=2*k+1 8) disp('es Primo') 9) %tiempo=cputime-t 10) else 11) el=2*k+1 12) disp('es Compuesto') 13) %tiempo=cputime-t 14) end 15) for m=input('introduzca el nmero tres: ');end 16) for n=input('introduzca un nmero primo anterior: ');end 17) x=m-2 18) y=x*n^2 19) z=m-4 20) w=z*n 21) s=y-w 22) g=2*n 23) f=s/g 24) disp ('Si: "f=2^(P-1)" es Potencia de Dos cuando p es primo ') 25) v=s/2 26) disp ('Entonces: "v" es el P-ensimo Triangular y Perfecto'); 27) end 28) for m=input('introduzca el nmero seis: ');end 29) for n=input('introduzca la potencia de dos anterior: ');end 30) x=m-2 31) y=x*n^2 32) z=m-4 33) w=z*n 34) s=y-w 35) g=2*n 36) f=s/g 37) disp ('Si: "f=2^p -1" es primo de mersenne ') 38) v=s/2 39) disp ('Entonces: cuando p es primo "v" es el (2^p -1)-ensimo hexagonal y Perfecto' ); 40) end

Nmeros Triangulares:

1 ; 3 ; 6 ; 10 ; 15 ; 21 ; 28 ; 36 ; 45

Observacin: Nmeros perfectos pares en color rojo

Nmeros Hexagonales:

; 6 ; 15 ; 28 ; 45 ; 66

Observacin: Nmeros perfectos pares en color rojo

Formula que expresa el nmero poligonal de orden: k En la posicin: n

Formula:1

(k 2).n2 2

(k 4).n

La anterior formula segn (Jimnez; 1999) permite determinar cualquier nmero poligonal donde: K expresa el orden y: n el lugar en dicha expresin y la misma cumple un rol fundamental en el diseo y certificacin del software en lo referente a la confirmacin; verificacin y comprobacin del teorema: 1 Ejemplos:

(6 2).162 2

(6 4).16

496

(3 2).72 2

(3 4).7

28

(3 2).312 2

(3 4).31

496

(6 2).22 2

(6 4).2

(6 2).42 2

(6 4).4

28

(6 2).162 2

(6 4).16

496

Algoritmo para obtener un nmero primo de Mersenne:

1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24)

%t=cputime; for p=input('Introduzca el primo impar "p" para obtener un primo de mersenne:') M=(2^p-1) disp('M es un Numero primo de mersenne') end %t=cputime; for M=input ('Introduzca el numero: M para saber si es Primo o no: ');k=(M-1)/2;m=1:k-1; end z=10*k+5; y=10*m+5; rem(z,y)==0; if(ans)==0 M=2*k+1 disp('M es Primo contine ') %tiempo=cputime-t Else M=2*k+1 disp('M es Compuesto no contine Pruebe con otro primo: p ') %tiempo=cputime-t End for M=input('Introduzca el nmero primo de mersenne "M" para obtener Un perfecto:') P=(2^(p-1))*(2^p-1) disp('P es un Numero Perfecto') end

Conclusion: Cabe destacar que el siguiente teorema presenta algunas caractersticas primordiales para el anlisis de los nmeros perfectos pares y sus primos de mersenne correspondientes

Teorema:
Si: 2 p 1.2 p
1

es la ecuacion de Euclides para obtener Perfectos pares

Cuando : P es primo
Si y solo si: 2 p 1 es un primo de mersenne

Entonces: 2 p 1.2 p 1 termina en: 6 Si y solo si: P es un primo de Pitagoras Y cuando: 2 p 1.2 p 1 termina en: 8 Entonces : P es un primo de Gauss
La siguiente expresin permite la generalizacin de los resultados a travs de la induccin
m 2p m 0
1

4.m 1 (2 p 1).(2 p 1 )

Numero Perfecto par

Programa ptimo:

for p=input ('sea p un numero primo') n=2^p-1 disp('n es un numero primo de mersenne? ') h=p-1 hex=2^h disp('hex enesimo Hexagonal') t=p+1 tri=2^t-3 disp('tri esimo Triangular') a=1:1:n; suma=a' sum(a) b=1:4:tri; suma=b' sum(b) end

Criba mgica especial: 1) for k=input ('Introduzca un numero natural') 2) 2) x=0:1:k-1 3) 3) x=x' 4) y=1:1:k 5) y=y' 6) w=1:1:k 7) z=0:1:k-1 8) r=w-z 9) s=r+1 10) s=s' 11) n=y.^2 12) a7=x.^2 13) a7=a7' 14) n=n' 15) h=s*n 16) h=h' 17) c=(x*y') 18) t=s*r 19) j=y*r 20) a4=r'*n 21) a8=r'*a7 22) a5=a4+h+j+c+c'-a8 23) a6=a5.*t+1 24) a6=~a6 25) end

Referencias bibliogrficas:

[1].Jimnez. D. La aventura de la matemtica,ISBN980-6423-42-9, coleccin Quirn N 28,Venezuela1999;Pag.61-64 [2].Gardner. M. Miscelnea matemtica. ISBN 84-345-8246-5.Biblioteca cientfica Salvat.1986 barcelona Espaa.pag.51-63 [3].Nieves. R. Prueba de Primalidad. XVIII Jornadas tcnicas de investigacin y II de postgrado (Memorias Unellez).Venezuela;2009.Pag:216-220

You might also like