[Tutor] primality testing
Zak Arntson
zak@harlekin-maus.com
Fri May 9 16:59:01 2003
> On Fri, 9 May 2003, Peter Jakubowicz wrote:
>
>> I've written a small program to test whether a number is prime. But in
>> the back of my mind, I feel it should be simpler and shorter. Can
>> anyone advise. Thanks.
>>
>> from math import sqrt
>>
>> def prime(n):
>> factor = 0
>> for i in range(2, sqrt(n) + 1):
>> if n % i == 0:
>> factor = factor + 1
>> break
>> if factor == 0:
>> print "Prime"
>> else:
>> print "Composite"
Okay, here's an answer that isn't silly. And I've been looking for an
excuse to learn how lambda functions work. :)
def prime (n):
if 0 not in map (lambda a: n % a, range (2, math.sqrt (n) + 1)):
return 'p'
return 'c'
--
Zak Arntson
www.harlekin-maus.com - Games - Lots of 'em