Vous êtes sur la page 1sur 5

Maratona de Programao

Rodolfo Riyoei Goya

Gerao de Nmeros Primos

Crivo de Eratstenes
http://pt.wikipedia.org/wiki/Crivo_de_Erat%C3%B3stenes

Gera uma tabela de nmeros primos Usados em testes de primalidade

Algoritmo

Algoritmo: crivo
sieve( nmax ) { j = sqrt( nmax ); for( i = 2; i <= nmax; i++ ) p[i] = 1; for( n = 0, i = 2; i <= j; i++ ) if( p[i] == 1 ) { for( k = i * i; k <= nmax; k = k + i ) p[k] = 0; primo[n++] = i; } } p[0..nmax]: se p[i] == 1, i primo. primo[]: tabela de nmeros primos.

Algoritmo: Teste de primalidade


eh_primo( num ) { j = sqrt( num ); for( i = 0; primo[i] <= j; i++ ) if( num % primo[i] == 0 ) return 0; return 1; } retorna: 0 se composto e 1 se primo.

Vous aimerez peut-être aussi