Skip to content

Instantly share code, notes, and snippets.

@paganotoni
Created November 3, 2012 20:02
Show Gist options
  • Save paganotoni/4008524 to your computer and use it in GitHub Desktop.
Save paganotoni/4008524 to your computer and use it in GitHub Desktop.
Simple Prime Numbers Groovy Script
#!/usr/bin/env groovy
public class PrimeNumberEvaluator {
// Evaluates a number looking if its prime or not
static boolean isPrime( def number ){
def divisors = []
for( def possibleDivisor in (1..number) ){
if( (number % possibleDivisor) == 0 ){ divisors << possibleDivisor }
if( divisors.size() > 2 ){ break }
}
return divisors.size() <= 2
}
static def rangePrimes( def initialNumber, def finalNumber ){
def primes = []
for( def possiblePrime in (initialNumber..finalNumber) ){
if( isPrime( possiblePrime ) ) primes << possiblePrime
}
return primes
}
}
println PrimeNumberEvaluator.isPrime( 2 )
println PrimeNumberEvaluator.isPrime( 12 )
println PrimeNumberEvaluator.isPrime( 5 )
println PrimeNumberEvaluator.rangePrimes( 2, 10000 )
@michalmela
Copy link

One could write isPrime a bit simpler:

def isPrime(i) { (2..Math.sqrt(i)).every { i % it != 0 } }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment