jueves, 6 de diciembre de 2012
Algoritmo para obtener todos los divisores primos de un número introducido por teclado
El siguiente ejercicio es una variación del anterior en el que obteníamos todos los divisores de un número cualquiera. En este caso obtendremos todos los divisores que sean primos de un número que introduciremos por teclado. Haremos un método que obtenga los divisores del número y compruebe si ese divisor es primo o no. A la clase la he llamado Divisores y el código quedaría así:
import java.util.Scanner;
public class Divisores {
// Codigo por www.DesarrollarAplicaciones.com
public static boolean primos(int divisor){
boolean resultado=true;
int contadordivisores=0;
int posibledivisor=1;
while(posibledivisor<=divisor){
if(divisor%posibledivisor==0){
contadordivisores++;
}
posibledivisor++;
}
if(contadordivisores<=2){
resultado=true;
}
else{
resultado=false;
}
return resultado;
}
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
boolean llamada;
int numero;
int divisor=1;
System.out.println("Introduce el numero");
numero=teclado.nextInt();
while(divisor<=numero){
if(numero%divisor==0){
llamada=primos(divisor);
if(llamada==true){
System.out.println(divisor);
}
}
divisor++;
}
}
}
Suscribirse a:
Enviar comentarios (Atom)
Este comentario ha sido eliminado por el autor.
ResponderEliminarimport java.util.Scanner;
ResponderEliminarpublic class Ejercicio5Hoja3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner teclado=new Scanner(System.in);
int div=1,cont=0,div2=1;
System.out.println("Dame un numero para darte sus divisores primos");
int num=teclado.nextInt();
while (div<=num){
if (num%div==0){
while (div>=div2){
if (div%div2==0){
cont++;
}
div2++;
}
div2=1;
if (cont==2)//No consideraré al 1 como número primo
{
System.out.println(div);
}cont=0;
}div++;
}
}
}