domingo, 5 de junio de 2011

Programación

La criba de Eratóstenes es un algoritmo que permite hallar todos los números primos menores que un número natural dado N. Se forma una tabla con todos los números naturales comprendidos entre 2 y N y se van tachando los números que no son primos de la siguiente manera: cuando se encuentra un número entero que no ha sido tachado, ese número es declarado primo, y se procede a tachar todos sus múltiplos. El proceso termina cuando el cuadrado del mayor número confirmado como primo es mayor que N.

ESTE PROGRAMA ESTA HECHO DE FORMA REFERENCIA DE MEMORIA EN JAVA,
ES PARA LOS PRIMEROS 1000 NUMERO ENTEROS.

public class NoPri {
    int d,ind;
    NoPri sig;
    public NoPri(int x,int y) {
        d=x;
        ind=y;
        sig=null;
    }
}



////




public class Criba_de_Eratostenes {
    NoPri p;
    public Criba_de_Eratostenes() {
        p=null;
    }
    public void calculo(){
        NoPri x=new NoPri(2,2),y;
        p=x;
        int c;
        for(c=3;c<1001;c++){
            y=new NoPri(0,c);
            x.sig=y;
            x=y;
            //System.out.println("Numero ll "+x.d+" "+x.ind);
        }
        x=p;
        while(x.sig!=null){
            if(x.d!=1){
                y=x.sig;
                while(y!=null){
                    if(y.ind%x.ind==0&&y.d!=1)
                        y.d=1;
                    y=y.sig;
                }
            }
            x=x.sig;
        }   
    }
    public void mostrar(){
        NoPri s=p;
        while(s!=null){
            if(s.d!=1)
                System.out.println("Numero "+s.d+" "+s.ind);
            s=s.sig;
        }
    }
    public static void main (String[] args) {
        Criba_de_Eratostenes n=new Criba_de_Eratostenes();
        n.calculo();
        n.mostrar();
}
   
   
}



ESPERO LES SIRVA DE MUCHO...

No hay comentarios:

Publicar un comentario