Skip to content

Instantly share code, notes, and snippets.

@mnzk
Created October 26, 2012 16:40
Show Gist options
  • Save mnzk/3959811 to your computer and use it in GitHub Desktop.
Save mnzk/3959811 to your computer and use it in GitHub Desktop.
TlPrimeNumberClassifier.py
from functools import partial
from itertools import ifilter
def add(x,y):
return x + y
def func_thread(init, *fs):
return reduce(lambda a,f: f(a), fs, init)
class TlPrimeNumberClassifier(object):
def __init__(self, number):
self.number = number
def isFactor(self, potential):
return self.number % potential == 0
def getFactors(self):
return ifilter(self.isFactor, xrange(1, self.number+1))
def isPrime(self):
return self.number+1 == func_thread(
self.getFactors(),
partial(reduce, add))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment