Ordenar de mayor a menor números pares e impares
Tengo este código que me da 100 aleatorios (1-1000) y me cuenta los números pares e impares, como puedo hacerle para ordenarlos de menor a mayor o viceversa y que me imprima los números primos de esa lista????
Agradecería mucho su ayuda.
int n,pares=0,impares=0;
for(int i=1; i<=100; i++){
n=(int) (Math.random()*999)+1;
if(n%2==0){
pares++;
}
else{
impares++;
}
}System.out.println("");
System.out.println("PARES: "+pares);
System.out.println("IMPARES: "+impares);
}
}
- jorge046's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Google tiene la respuesta.
Google tiene la respuesta.
en Ceylon
Ya teniendo una lista de números enteros, en Ceylon es muy fácil obtener las dos listas y ordenarlas:
function num(Integer i) => i;
value nones = [for (i in ints) if (i%2==1) i].sort(byIncreasing(num));
value pares = [for (i in ints) if (i%2==0) i].sort(byIncreasing(num));
En Java no se puede hacer tan fácil, pero puedes ordenar la lista que tienes simplemente invocando
Collections.sort(ints)
; después de eso puedes recorrerla y tomar en cuenta sólo los pares o sólo los nones. Y cuando recorras los nones puedes filtrar adicionalmente para ver si son primos o no.Según recuerdo, una manera simple pero eficiente de determinar si un número es primo o no, es:
1. Casos especiales: 1 creo que no es primo, pero 2 sí
2. Pares NO son primos
3. Sacar la raíz cuadrada entera del número (redondeando hacia arriba)
4. En un ciclo de 1 a esa raíz, aumentando de dos en dos (para saltarte los pares), saca el módulo del número en cuestión con el número del ciclo.
5. Si todos te dieron !=0, el número es primo.
El Sr Google te ayuda
Este link te menciona el algoritmo de numeros primos, muy parecido a la descripcion que ya te dieron.
Implementando un algoritmo de ordenamiento
Supongo que quieres que tus números pares aparezcan ordenados de forma independiente a los impares.
Guarda en una variable los números que generes, y pudieras utilizar un método de ordenamiento (si no quieres utilizar el método sort de Java). Puede ser un BubbleSort o QuickSort.