Você está na página 1de 5

Autor: Eraclis Antnio Andrade Alves

Uma funo para gerar nmeros primos, denominada de funcao_primos

1. INTRODU O
A implementao foi feita no software Matlab, aonde foi desenvolvida a funo funo_primos, que pode ser chamada a partir da janela de comando do software, de acordo com o que ser mostrado a seguir.

funcao_primos formato dessa funo !" [h] =funcao_primos(inicio,numero_de_primos) onde [h] ! o par#metro de sa$da, neste caso sero os n%meros primos gerados de acordo com os par#metros de entrada (inicio,numero_de_primos).
inicio

! o valor de refer&ncia atrav!s do qual sero gerados os n%meros primos. ',


numero_de_primos ! a quantidade de primos gerados a partir do valor de refer&ncia

(inicio) informado. A %nica condio e*igida da respectiva funo, ! que o valor do


inicio seja maior ou igual a +.

cdigo desenvolvido para a funo em questo !

apresentado no Ane*o A do presente trabalho. E*emplo"


inicio , -. numero_de_primos , / [h] =funcao_primos(10, 6). A funo ir gerar / respectivos primos depois de

-..
[h] = 11, 13, 17, 19, 23, 29.

0m e*emplo simulado da funo no Matlab ! e*ibido na figura -.


1igura -. 2imulao da funcao3primos

!. R"#"R$N%IA&

Alves, E. A. (2013). A criptografia RSA e a Sua Implementao. Blumenau/SC - Brasil.

'. AN"(O

Ane)o A * #uno funo_primos


function [h]= funcao_primos(inicio,numero_de_primos) lista=[]; p=1; lastphi=1; E=zeros(100,1); E(1)=0; nmax=numero_de_primos+ ; f=zeros(nmax,1); f(1)= ; if (inicio!") errordl#($% &alor de refer'ncia de&er ser maior ou i#ual a " $,$E((%$); else if(mod(inicio, )==0) f( )=inicio)1; else f( )=inicio; end * =+; ,=1; -=0; .=0; s=0; i= ; d=/; t=0; 0=0; 1hile i!nmax i=i+1; lastphi=1; p=1; .=0; 1hile lastphi2=0, if (p2=1) 31=0; else 31=f(i)1)+ ; end 4=mod((.+31+"),"); 3 =31+ 5a6s((cos(( 74)5pi))1)8 ); 1hile (d9=+), -=-+1; if(-91) *=round (* +a6s(:5sin((-)5pi8 )+ 5cos((-)5pi8 ))); * =*; else

*=* ; end d=(.+3 )8*; d1=*5*; d =.+3 ; t=t+1; if ((mod(.+3 +*,*)2=0)) 3"= round (3 ); 0=0+1; s=s+1; else 0=0+1; if (d9= ) ,=d; ;=round (a6s(105cos(-5pi8 )+ 5sin(-5pi8 ))); ,;=mod(,5;,/); 4=mod(.+3 +*,*); if (49=1) ,;1=,;5a6s(08 ); else ,;1=,;5a6s()1); end 3"=round (3 +,;1); else 3"=round (3 ); end end if(d !=d1) d= ; else end 3 =3"; end f(i)=3"; d=/; -=0; p=p+1; phi=f(i); E(p)=f(i); lastphi=phi; if(s==t) lastphi=0; end if (p== ) E(p+1)=E(p)+E(p)1); else if (p==") E(p+1)=E(p)+E(p)1)+E(p) ); else if (p==:) E(p+1)=E(p)+E(p)1)+E(p) )+E(p)"); else if(p9=+) <=p) ; 1=0; x=zeros(p,1); for o=1=< x= E(p)o)+1;

1=x; end E(p+1)= E(p)+1; end end end end .= E(p+1); 0=0; t=0; s=0; * =+; end f(i)=.; h=f("=nmax); end end end

Você também pode gostar