Cerrar Bienvenido
Cerrar Registrate

Ya somos 1.507.958 Forros navegando...

1173 usuarios conectados | 1.507.958 forros | 369.348 temas | 4.389.053 mensajes | seremos forros, pero somos una bocha

Calcular numeros primos y factorial en Java en el foro de Programación:


hola amigos....soy nueva en java y cada dia voy aprendiendo más, porfavor ayudenme con los codigos para que mi programa calcule si un numero es primo o no, tambien calcular el factorial de dicho numero y mostrar el resultado....aqui les dejo mi avance Código: package prueba; import javax.swing.*; public class numeros extends JFrame{ public numeros(){ super (); } JPanel panel = new JPanel(); JLabel label1 = new JLabel( "Ingresar número " ); JTextField texto = new JTextField(10); JButton boton = new JButton( "Calcular Primos" ); JButton boton2 = new JButton( "Calcular Factorial" ); public void panel(){ panel .add( label1 ); ...

Datos del Tema
Creado el 04.11.09 a las 04:40
  • 0 Votos
  • 0
    Favoritos
  • 256
    Visitas
  • 1
    Mensajes
¡Tema agregado a Favoritos!
Ya tienes este tema en Favoritos
Error
¡Buen Tema!0 Votos Disponibles
¡Tu voto ha sido enviado!
Ya has votado por este tema
[Error]
No puedes votar tu propio tema
No puedes votar a usuarios baneados
No puedes votar en un tema cerrado
Viejo 04.11.09, 04:40
hola amigos....soy nueva en java y cada dia voy aprendiendo más, porfavor ayudenme con los codigos para que mi programa calcule si un numero es primo o no, tambien calcular el factorial de dicho numero y mostrar el resultado....aqui les dejo mi avance
Código:
package
prueba;
import
javax.swing.*;
public
class numeros extends JFrame{ public numeros(){ super(); } JPanel panel= new JPanel(); JLabel label1 = new JLabel("Ingresar número "); JTextField texto = new JTextField(10); JButton boton = new JButton("Calcular Primos"); JButton boton2 = new JButton("Calcular Factorial"); publicvoid panel(){ panel.add(label1); panel.add(texto); panel.add(texto); panel.add(boton); panel.add(boton2); add(panel); super.setTitle("NUMEROS"); super.setVisible(true); super.setSize(300, 140); panel.setBounds(0, 0, -1, 1); } publicstaticvoid main(String[] args) { numeros obj = new numeros (); obj.panel(); } }
Viejo 07.11.09, 23:08
Mucho que digamos no avanzaste, te falta la parte más importante: el cálculo en sí...

Para ver si un número es primo, podés usar una hermosa propiedad que dice que si X no se divide por ningún Y que sea menor o igual a la raíz de X, entonces X es primo. Básicamente probás con todos los números desde 2 hasta la la parte entera de la raíz de X (tachando los múltiplos de aquellos que ya te dio falso para ahorrar cuentas), y si ninguno divide, voilá...
Por ej, si querés averiguar si 51 es primo, probás con los números de 2 hasta la parte entera de la raíz de 51 (raíz de 51 = 7,14... parte entera = 7).
2 divide a 51? No
3 divide a 51? Sí -> No es primo

Ahora suponete que querés averiguar si 53 es primo (que lo es). Raíz de 53 = 7,28. Parte entera = 7.
2 divide a 53? No
3 divide a 53? No
4 es múltiplo de 2, podés saltearlo...
5 divide a 53? No
6 es múltiplo de 2 y 3, podés saltearlo...
7 divide a 53? No
Listo, 53 es primo...


Para el factorial, hay varias formas de hacerlo... la clásica pero menos performante es la recursión (de hecho, el factorial es un típico ejemplo de recursión).
Básicamente, el factorial de un número X es la multiplicación de todos los números menor o igual a X... con un ciclo lo hacés MUY fácil, agarrás todos los números de 1 a X, y los multiplicás en una variable de resultado.
Con recursión sería algo así:
Código:
Factorial(X)
  Si X = 1
     Devolver X
  Sino
     Devolver X * Factorial(X-1)
Obviamente no lo puse en Java porque la gracia es que lo hagas vos...


Herramientas Buscar en este tema
Buscar en este tema:

Búsqueda avanzada
Iniciar Sesion

Recordarme

Top de Usuarios

    ElServer