0votos

imprimir números primos desde 2 hasta 1000 en Ruby

por Mercurio66 hace 3 meses

La estrategia es contar el numero de divisiones exactas que tiene un numero. Como los primos son solo divisibles exactamente entre 1 y entre si mismo se concluye que un primo solo tiene dos divisiones exactas. Entonces con un contador de divisiones exactas comparo que número tuvo solo dos divisiones exactas y ese será un numero primo

Imprimir todos los números primos desde el 2 hasta el 1000 inclusive

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
system('cls')         #para usar el comando DOS para limpiar la pantalla 
max = 1000        #variable para  límite maximo hasta donde calcular   
  
puts "********NUMEROS PRIMOS HASTA #{max}*****************" 
 
for x in(1..max)    #bucle para el rango de números a evaluar si son primos 
   contador = 0     # inicializa contador de divisiones exactas un número  
   for  y in(1..x)     #bucle para las divisiones de un número desde 1 hasta el propio número 
      if (x.to_f / y)-(x / y) == 0 #compara si la división real menos la división entera es exacta 
      contador +=1 #va incrementando contador para saber cuantas divisiones  exactas hay 
   end   
 end 
 if contador == 2  # si el contador solo llegó hasta dos divisones exactas el número es primo 
    print "#{x}, "      # imprime los números primos en forma consecutiva  
 end   
end 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.