Pregunta

Antes de que me puse a punto de escribir esto mismo, nadie ha visto una aplicación de rubí de la siguiente comportamiento?

puts 7.nextprime();     #=>  11
puts 7.previousprime(); #=>  5
puts 7.isprime();       #=> true

Es evidente que este tipo de cosas sería desagradable para un gran número de números enteros pero no superior a unos pocos miles (la instancia común para mí) una aplicación sensata es factible, por lo tanto, la pregunta.

¿Fue útil?

Solución

Rubí viene con una clase Prime incorporado que le permite iterar a través de los números primos a partir de 1, pero no veo manera de inicializar con un valor de partida distinto de 1, ni un cheque de predicados para determinar si es o no un número es primo. Yo diría que ir a por ello, aunque se debe tener en cuenta que las matemáticas en Ruby puede ser lento y si el rendimiento es un factor que puede ser mejor teniendo en cuenta la escritura como una extensión de C o Java. Aquí está un ejemplo de cómo utilizar RubyInline para generar números primos en C .

Además, le sugiero que evitar el uso del nombre del método 7.isprime -. La convención en Ruby es 7.prime?

Otros consejos

Tome un vistazo a los fragmentos encontrados aquí . Ellos podrían darle una ventaja inicial.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top