Código de Java - Numeros raros

sin imagen de perfil

Numeros rarosgráfica de visualizaciones


Java

Publicado el 7 de Diciembre del 2014 por David
5.537 visualizaciones desde el 7 de Diciembre del 2014
Programa estructurado que devuelve los números raros hasta un número dado.
Un número es raro cuando verifica que para cualquier número m, menor que él y tal que ambos números sean primos entre sí, resulta que m es un número primo.

Requerimientos

Se recomienda usar Eclipse, aunque el código se puede ejecutar perfectamente bajo consola. Asegurarse eso sí, de dar el mismo nombre que tiene la clase al fichero fuente. En este caso , como la clase se llama Raro, debe guardarse en un fichero Raro.java

1.0
estrellaestrellaestrellaestrellaestrella(3)

Actualizado el 9 de Diciembre del 2014 (Publicado el 7 de Diciembre del 2014)gráfica de visualizaciones de la versión: 1.0
5.538 visualizaciones desde el 7 de Diciembre del 2014
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import java.util.Scanner;
/**
 * Programa estructurado que devuelve los números raros hasta un número dado.
 * Un número es raro cuando verifica que para
 * cualquier número m, menor que él y tal que ambos números sean primos entre sí, resulta
 * que m es un número primo. 
 * @author David Robles Gallardo
 * @version 1.0
 */
public class Raro {
	/**
	 * Calcula el máximo común divisor de dos números dados
	 * @param n Primer número
	 * @param m Segundo número
	 * @return el máximo común divisor de ambos números
	 */
	public static int euclides(int n, int m){
		int resto=n%m;
		while(resto!=0){
			resto=n%m;
			m=n;
			m=resto;
		}
		return n;
	}
 
	/**
	 * Permite determinar si un número es primo mediante divisiones sucesivas hasta como máximo dividirlo por su raíz
	 * @param n Número del que se desea conocer si es primo
	 * @return booleano que indica si el número es primo o no
	 */
	public static boolean primo(int n){
		int raiz=(int)(Math.sqrt(n));
		boolean esPrimo=true;
		int numero=2;
		while(numero<=raiz && esPrimo){
			if(n%numero==0){
				esPrimo=false;
			}
			else{
				numero=numero+1;
			}
		}
		return esPrimo;
 
	}
 
	/**
	 * Solicita un número por teclado y calcula todos los números raros desde 3 hasta él.
	 * @param args Argumentos del programa
	 */
	public static void main(String []args){
		Scanner in=new Scanner(System.in);
		boolean esRaro=false;
		int contador, numero;
		do{
			System.out.println("Escriba un número entero positivo");
			numero=in.nextInt();
		}while(numero<3);
 
		System.out.println("Los números raros son: ");
		for(int i=3;i<numero;i++){
			esRaro=true;
			contador=1;
			while(esRaro && contador<i){
				if (euclides(contador,i)==1 && !primo(contador)){
						esRaro=false;
				}
				contador=contador+1;
				}
			        if(esRaro){
				                System.out.println(i+" es un número raro");
			        }
		       }
	   }
}



Comentarios sobre la versión: 1.0 (3)

Imágen de perfil
9 de Diciembre del 2014
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
9 de Diciembre del 2014
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
dimix
22 de Julio del 2020
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2945