Bien esta vez vamos a ver un trabajo que me dejaron hace poco :y bueno este lenguaje no es para mi el problema es el siguiente
haga un programa de números Abundantes y Gemelos que deben de correr en hilos separados, permitiendo calcular asincronamente ambos.
bien sin mas vamos al codigo
public class Juntos01 {
public static void main(String arg[]){
try {
Thread.currentThread().sleep( 100 );
}catch( InterruptedException e ){}
Thread hilo = new Gemelos();
Thread hilo2 = new Abundantes();
hilo.start();
hilo2.start();
}
}
ahora las clases de abundantes y gemelos
class Gemelos extends Thread{
public static void main(String loquiequiera[]){
long inicio_pri, fin_pri, mili_pri;
//Gemelos a = new Gemelos();
//a.saludar();
inicio_pri=System.currentTimeMillis();
//a.Mostrar_n_gemelos(10);
fin_pri=System.currentTimeMillis();
mili_pri=fin_pri - inicio_pri;
System.out.println("MILISEGNDOS=" + mili_pri);
}
private boolean primo(long num_a_chk){
int divisibles=0;
for(long con_quien=num_a_chk; con_quien>=1; con_quien--){
if(num_a_chk%con_quien == 0 ) divisibles++;
}
if( divisibles==2 )
return true;
else
return false;
}
public void run(){
int n=100;
long num_a_chk=3, encontrados=0;
while(encontrados<n){
if(primo(num_a_chk)==true && primo(num_a_chk-2) == true ){
System.out.println("Gemelos: "+ (num_a_chk-2) + " , " + num_a_chk);
encontrados++;
}
num_a_chk++;
}
}
}
class Abundantes extends Thread{
public static void main (String a[]){
long tini, tfin, ttarda;
//Abundantes obj = new Abundantes();
tini=System.currentTimeMillis();
//obj.mostrar_abundantes(1000);
tfin=System.currentTimeMillis();
ttarda = tfin - tini;
System.out.println("TARDO: " + ttarda);
}
private boolean es_abundante(long x){
long i, suma=0;
//System.out.println("Checar: " + x);
for (i = 1; i<=x; i++){
if (x % i == 0){
//System.out.print ("+ " + i );
suma += i; // sumar = sumar + i
}
}
//System.out.println();
//System.out.println (suma + " > 2* " + x);
if( suma > 2*x ) return true;
else return false;
}
public void run(){
int n=100;
while (n>1){
// --n n--
if(es_abundante(n))
System.out.println(n + " es abundante");
n--;
}
}
}
espero que este pequeño código le sirva a alguien mas :)
No hay comentarios.:
Publicar un comentario