500k recruitment challenge 03-12-2016, 11:32 PM
#1
In honour of 500,000 posts, Serenity is holding a recruitment challenge. The challenge is to create a method that finds all primes under or equal to n.
Constraints:
The following method dictates whether or not a submission passes:
and the scores for my benchmark method:
Bonus points: The method I used is (one of) the most efficient for this task. Correct identification of who devised it and the name of it is +2 points
Submission: PM me (on here or discord) with your entry to submit. If you'd prefer to do this challenge in another language, let me know, and I'll write something up.
Recruitment: The top 50% of entries will be recruited to Serenity
Constraints:
- total time for 1,000 tests under 2 seconds
- average time per test under 0.01 seconds
- get the correct number of primes (1,229 for our test case)
- same result as test method
The following method dictates whether or not a submission passes:
Code:
def benchmark(method):
"""
Used for calculating a pass/fail in Serenity's
500k recruitment challenge
constraints:
- <5 seconds total runtime
- <0.01 seconds average runtime
- correct number of primes (1229 primes <= 10000)
- correct primes (compared to sample method)
"""
time=__import__('timeit').timeit(
'%s(10000)'%method,
setup='from __main__ import '+method,
number=1000
)
res=eval(method+'(10000)')
pss=round(time,6)<5 and time/1000<0.01 and len(res)==1229 and test(10000)==res
return '\n'.join([
method+': '+('Fail','Pass')[pss]+
('',' (distinction'+'+'*(time<0.0025)+')')[time<0.00324851038689],
'Average: '+`round(time/1000,6)`,
'Total: '+`round(time,6)`,
'Score: '+`(((0,3)[pss]+round(5-time,5))*(1,(1.25,1.5)[time<0.0025])[time<0.00324851038689])*10`
])and the scores for my benchmark method:
Code:
test: Pass
Average: 0.003354
Total: 3.354264
Score: 46.4574Bonus points: The method I used is (one of) the most efficient for this task. Correct identification of who devised it and the name of it is +2 points
Submission: PM me (on here or discord) with your entry to submit. If you'd prefer to do this challenge in another language, let me know, and I'll write something up.
Recruitment: The top 50% of entries will be recruited to Serenity
It's often the outcasts, the iconoclasts ... those who have the least to lose because they
don't have much in the first place, who feel the new currents and ride them the farthest.
don't have much in the first place, who feel the new currents and ride them the farthest.
















![[+]](https://sinister.li/images/modern/collapse_collapsed.png)






![[Image: pBD38Xq.png]](http://i.imgur.com/pBD38Xq.png)