Pages

lunes, 28 de enero de 2013

Determinar si un número es primo Codigo Fuente en Java

Problema
Diseñar un algoritmo que me permita ingresar cualquier número y determinar si el número ingresado es primo.

Solución
  • Entrada: 19
  • Salida:   Si es número primo
Codigo Fuente en Java
import java.util.Scanner;
public class Main {
     public static void main(String[] args) {
          Scanner sc = new Scanner(System.in);
         int a=0,i,n;
         System.out.println("Ingrese numero");
         n=sc.nextInt();
         for(i=1;i<(n+1);i++){
         if(n%i==0){
             a++;
            }
         }
         if(a!=2){
              System.out.println("No es Primo");
            }else{
                System.out.println("Si es Primo");
         }
     }
}

51 comentarios:

Anónimo dijo...

pero si la def de numero primo es un numero mayor que 1 debería informar en el programa que el numero a ingresar debe ser mayor que 1

Unknown dijo...

disculpe seria posible que pusiera la explicacion de lo que el codigo

Anónimo dijo...

muchas gracias bro , me ayudaste bastante

Unknown dijo...

super men me salvaste con un ejercicio para una prueba buen aporte

Unknown dijo...

Antes de un examen de programacion , leer esto es gloria!!
mil gracias!

Unknown dijo...

para el que pidió la explicación del código es...

import java.util.Scanner; // libreria para leer datos
public class Main { // inicia clase principal
public static void main(String[] args) { // inicia metodo principal
Scanner sc = new Scanner(System.in); // creamos un objeto de tipo //scanner para lectura de datos por teclado
int a=0,i,n; // declaramos 3 variables: a para el resultado, i para contador //de for y n para la lo que el usuario introducirá
System.out.println("Ingrese numero"); // pedimos que el usuario //introduzcaun valor entero
n=sc.nextInt(); // lo almacenamos en n
for(i=1;i<(n+1);i++){ // creamos un for para una iteracicon de 1 hasta n
if(n%i==0){ // entramos al for y si el remanente de n entre i (posicion) es // //menor a n+1
a++; // a incrementa 1
}
}
if(a!=2){ // si a es diferente a 2 es primo de lo contrario NO
System.out.println("No es Primo");
}else{
System.out.println("Si es Primo");
}
}
}

Anónimo dijo...

nese4sito la corrida

Unknown dijo...

gracias may me sirvio

Unknown dijo...

me gustaria que me dieras unos tutoriales porque soy principiante

Unknown dijo...

como puedo desarrollar este proyecto me explicas


indique la edad de una persona con la fechas del sistema y con la fecha de nacimiento

Unknown dijo...

si alguna informacion me la envias ha este correo yomospe@gmail.com te agradeceria

Anónimo dijo...

necesito el codigo de traductor morse seria:
español/ frases/palabras
a morse/ frases/palabras
clases:
frase " la casa roja " esta que se pueda separ y enviar por decir casa a traductor morse.
se puede utilizar arreglos, listas, hashmap.

Por favor necesito ayuda para esto.

Unknown dijo...

una pregunta porque las tres variables?

Anónimo dijo...

cual seria el algoritmo para hallar los divisores primos

Unknown dijo...

Esta bien, pero si introduces el número 1, el programa dice que no es primo, cuando 1 es primo.

Anónimo dijo...

El numero 1 no es primo

Anónimo dijo...

que lo muestre en un text field en un rango definido por el usuario

Unknown dijo...

buen aporte un numero es primo cuando es divisible por 1 y el mismo numero

Anónimo dijo...

como imprimo datos repetidos mas de una veces y también los datos que se repita una vez ejemplo 224355666 y el resultado es 24356

Anónimo dijo...

como puedo imprimir datos repetidos mas de una veces y no repetido y q al final me muestre una sola vez el numero ingresado ejemplo 223335554 6 y que me imprima 23546

Anónimo dijo...

Muchisímas Gracias!! Me sirvio bastante
Te vas a ir al cielo! Jeje :)

Unknown dijo...

A decir verdad no son necesarias las variables booleanas. Podriamos usar solamente una iteracion while que funcione mientras el numero no sea divisible entre el contador. Si al final el contador llega a ser igual al numero es porque el numero jamás fue divisible, es decir, es primo:

import java.util.Scanner;
public class primo{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("Introduce numero primo: ");
int i=2, n=in.nextInt();
while(n%i!=0) i++; // La unica instruccion es que "i" se incremente en 1
if (i==n) System.out.println("Primo");
else System.out.println("NO Primo");
}}

El codigo quedaria reducido a menos de 240 bytes...

Anónimo dijo...

//programa que determina si un numero es primo
for(i=0;i<vec1.length;i++){
boolean sw;
sw=true;
int k = 2;
while(k<=vec1[i]/2&&(sw== true))
{
if (vec1[i]%k==0)
{
sw=false;
}
else
{
k=k+1;
}
}



if(sw==true)
{

JOptionPane.showMessageDialog(null,"Los numeros primos son: "+vec1[i]);
}

Anónimo dijo...

El algoritmo del tal Jared...mucho reducir el tamaño del código...pero si introduces un 1 el programa se queda en bucle infinito ^^.

Si quieres optimizar comprueba los divisores hasta N/2, que es el máximo divisor que puede tener un número (a parte de él mismo, pero eso nos da igual en el algoritmo) y te ahorras la mitad de ciclos en el bucle.

Para ser buen programador hay que saber matemáticas...

Unknown dijo...

Realice un algoritmo donde se pueda ingresar n cantidad de números, para cada número ingresado deberá tener en cuenta que si es primo lo debe contar y acumular en una variable, si no lo es deberá identificar si es par o impar, si es par debe contarlo y acumularlo en otras variables y si es impar deberá contarlo y acumularlo en otras variables. Al final deberá mostrar la cantidad de números primos ingresados, pares e impare y también el total de sumas de números primos, pares e impares.


alguien mee puede ayudar con este ejercicio?

Muchas gracias!!

Anónimo dijo...

Hola!! necesito que me ayuden con un programa en donde al ingresar 10 numeros me imprima el promedio de pares, la cantidad de primos,cantidad de numeros mayores a 50 y cantidad de numeros entre 10 y 50....porfisss es urgente!!

Unknown dijo...

chicos, tienen todos los codigos por separado en la web, lo unico que deben hacer es juntarlos, creen clases, llamen a las clases, piensen, asi quieren ser programadores?
ah y no hagan como el de este blog y documenten su codigo...

Unknown dijo...

esta con el for o con el while

Unknown dijo...

esta con el for o con el while

Nathan Rodriguez dijo...

A utilização dos números primos na criptografia faz deles um tópico de estudo muito ativo entre os matemáticos, pois a mesma é essencial na sociedade moderna.

Bom artigo! Abraços.

Números Primos em Java

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Numero Primo Impar: Realizarlo en Java

Verificar si el numero ingresado es impar si es impar , verificar si es primo y mostrar un mensaje por pantalla "Primo Impar" caso contrario "Numero Impar"

Si el numero ingresado es par se le aumentara 1 para que sea impar, cuando se haga el aumento se verificara si es primo y mostrar por pantalla "Primo Impar" caso contrario "Numero Impar"
Ayudenme es urgente.
Se les agradece de antemano.

Anónimo dijo...

y si hablamos de metodo recursivo? como seria?

Anónimo dijo...

por alguna razon tu codigo no fucniona en poo
me sale "if statement is redundant"
no se por que...

Unknown dijo...

Realice un programa que pida la cantidad de números primeros primos ingresados por el usuario AYUDA

Unknown dijo...

ayudenme
con estehacer una clase en java que permita detectar un numero introducido por teclado que es
a}positivo
b)negativo
c)multiplo de 5
y mayor o menor que otro numero introducido por teclado

Anónimo dijo...

Arnulfo tu codigo tiene falla no acepta el numero 1 como primo, prueben algo como esto

import java.util.*; // el import lo utilisamos para importar lo que es las utilidades de escanner y demas



public class NumeroPrimo {



/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub



int num; //declaramos nuestras variables en este caso enteras

int divisor=2;

boolean bandera=false; // una boleana para usa bandera



Scanner in = new Scanner (System.in) ; //se declarra el escaner en ""in"" entrada



System.out.println("ingrese el numero: " ) ; // la impresion

num=in.nextInt(); // la lectura del numero capturado



while(!bandera && divisor<num) //ponemos el while con su condicion en este caso si bandera

{

if (num%divisor==0) // un if en el cual se pregunta si el residuo de la divicion es o

bandera=true; // si lo es no es primo osea que se sale

else

divisor++; //igual si el divisor llego al numero q se capturo este sera primo

}



if (bandera) //se pregunta afuera y listo

System.out.println("el numero no es primo" ) ;

else

System.out.println("el numero si es primo" ) ;

}

}

Anónimo dijo...

/* 51. Dado un vector de “N” elementos cargarle números aleatoriamente,
* determinar cuál de los números primos es mayor y su posición. */
package sweetie_bot;
import java.util.Scanner;
public class Ejercicio_51 {
public static void main (String [] args){
Scanner Leer = new Scanner (System.in);
int i = 2; int mayor = 0; int ac = 0;
System.out.println("Ingrese limite para el vector: ");
int lim = Leer.nextInt();
System.out.println("Ingrese Elemento: ");
for (int k=1; k<=lim; k++)
{
int nro = Leer.nextInt();
if (nro % i != 0) i++;
{
if(i == nro)
{
if(nro > mayor)
{
mayor = nro;
ac = k;
}
}
}
}
System.out.println("\nEl mayor primo es: " + mayor);
System.out.println("Su posición es: " + ac);
}
}

Anónimo dijo...

tambien pudiste poner for(i=1;i<=n;i++); no era necesario el "i<(n+1)".

juan carlos th dijo...

el pomedio d n alumnos

juan carlos th dijo...

ayúdenme por favor

Anónimo dijo...

ayúdenme con lo siguiente:
escribir un algoritmo que determine cuantos dígitos pares y cuantos impares tiene un numero de "n" dígitos

Anónimo dijo...

Desarrolle un algoritmo que convierta un numero decimal primo no negativo de
mínimo dos dígitos a Binario.

alguien podria ayudarme? gracias

Anónimo dijo...

Hola necesito ayuda en programación de bucles (con el uso de for) Determine cuantos números primos existe en los primeros N números enteros positivos.
que requiere cuando el usuario ingrese un numero, luego el sistema devuelve la cantidad de números primos, por ejemplo si ingresa 7 hay 4 numeros primos 1,3,5,7
Ejm:
Numero:7
Cantidad:4

Unknown dijo...

Como le harías para que te devuelva el número que ingresaste en primos,de mayor a menor?

richard anaya dijo...

un programa q me pida un numero por teclado y me diga cuantos primos hay de 0 a ese numero

richard anaya dijo...

un programa q me pida un numero por teclado y me diga cuantos primos hay de 0 a ese numero

Ä dijo...

Muchísimas Gracias!
Código sencillo y claro. Hay gente que en problemas como este (que son problemas sencillos...) ponen cada código que ya te tira 'pa trás'.

Gracias por compartir!

riragepi dijo...

riragepi Brandi Sampy https://marketplace.visualstudio.com/items?itemName=3diacesviao.Temple-Of-The-Apsara-gratuita
inavifchar

queter0pesyu dijo...

queter0pesyu Stephanie Martin click here
link
https://colab.research.google.com/drive/1p119aZW9PDR-G-2otbUPvKWginBMMl0z
download
alemantio

WlauhaeOaf_na dijo...

WlauhaeOaf_na Teresa Acosta https://4windows.net/category/adobe-product/
Express VPN
FonePaw
persnecfuncteam

Publicar un comentario