Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como identificar numeros primos por debajo de un numero dado ?

Estas en el tema de como identificar numeros primos por debajo de un numero dado ? en el foro de Visual Basic clásico en Foros del Web. saludos ,estoy intentando hacer ese programa y e intentado de todo ,pero creo que me hace falta conocimiento,este fue el ultimo codigo que intente: for ...
  #1 (permalink)  
Antiguo 24/07/2009, 17:41
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
como identificar numeros primos por debajo de un numero dado ?

saludos ,estoy intentando hacer ese programa y e intentado de todo ,pero creo que me hace falta conocimiento,este fue el ultimo codigo que intente:
for i = 1 to numerodado
numero_actual = i
for i2 = 1 to numerodado
producto = i2 * i
if producto = numero_actual and i2 <> producto and i <> producto then
no_hay_primo = no_hay_primo + 1
end if
next i2
if no_hay_primo = 0 then
lista_primos = lista_primos & numero_actual
end if
next i
me baso en que los numeros que no son primos son divisibles por otro par de numeros aparte de el mismo y la unidad, pero igual hay no estoy evaluando todas las posibilidades,quisiera saber si hay otra forma de averiguar los primos o si estoy mal de bases matematicas,agradesco la ayuda.
  #2 (permalink)  
Antiguo 24/07/2009, 19:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como identificar numeros primos por debajo de un numero dado ?

Hay varios problemas en tu código.

La variable no_hay_primo no la estás reiniciando para volver a comprobar los números.
Además, para saber si un número es múltiplo de otro, sólo tienes que usar Mod (resto):
Código vb:
Ver original
  1. If numero Mod otro_numero = 0 Then
  2.     ' numero es múltiplo de otro_numero
  3. End If
Por lo que tu código debería ser:
Código vb:
Ver original
  1. For I = 1 To numerodado
  2.     EsPrimo = True
  3.     For I2 = 2 To I - 1
  4.         If I Mod I2 = 0 Then
  5.             EsPrimo = False
  6.             Exit For
  7.         End If
  8.     Next I2
  9.     If EsPrimo Then
  10.         lista_primos = lista_primos & I & ","
  11.     End If
  12. Next I
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 24/07/2009, 20:01
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Respuesta: como identificar numeros primos por debajo de un numero dado ?

seme pasaba por alto loque devuelbe mod ,gracias david"

Última edición por David; 24/07/2009 a las 21:12 Razón: Borrar QUOTE
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:30.