#Newbie programmer
def factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
print factorial(6)
#First year programmer, studied Pascal
def factorial(x):
result = 1
i = 2
while i <= x:
result = result * i
i = i + 1
return result
print factorial(6)
#First year programmer, studied C
def fact(x): #{
result = i = 1;
while (i <= x): #{
result *= i;
i += 1;
#}
return result;
#}
print(fact(6))
#First year programmer, SICP
@tailcall
def fact(x, acc=1):
if (x > 1): return (fact((x – 1), (acc * x)))
else: return acc
print(fact(6))
#First year programmer, Python
def Factorial(x):
res = 1
for i in xrange(2, x + 1):
res *= i
return res
print Factorial(6)
#Lazy Python programmer
def fact(x):
return x > 1 and x * fact(x – 1) or 1
print fact(6)
#Lazier Python programmer
f = lambda x: x and x * f(x – 1) or 1
print f(6)
#Python expert programmer
fact = lambda x: reduce(int.__mul__, xrange(2, x + 1), 1)
print fact(6)
#Python hacker
import sys
@tailcall
def fact(x, acc=1):
if x: return fact(x.__sub__(1), acc.__mul__(x))
return acc
sys.stdout.write(str(fact(6)) + ‘\n’)
#EXPERT PROGRAMMER
from c_math import fact
print fact(6)
#BRITISH EXPERT PROGRAMMER
from c_maths import fact
print fact(6)
#Web designer
def factorial(x):
#————————————————-
#— Code snippet from The Math Vault —
#— Calculate factorial (C) Arthur Smith 1999 —
#————————————————-
result = str(1)
i = 1 #Thanks Adam
while i <= x:
#result = result * i #It’s faster to use *=
#result = str(result * result + i)
#result = int(result *= i) #??????
result = str(int(result) * i)
#result = int(str(result) * i)
i = i + 1
return result
print factorial(6)
#Unix programmer
import os
def fact(x):
os.system(‘factorial ‘ + str(x))
fact(6)
#Windows programmer
NULL = None
def CalculateAndPrintFactorialEx(dwNumber,
hOutputDevice,
lpLparam,
lpWparam,
lpsscSecurity,
*dwReserved):
if lpsscSecurity != NULL:
return NULL #Not implemented
dwResult = dwCounter = 1
while dwCounter <= dwNumber:
dwResult *= dwCounter
dwCounter += 1
hOutputDevice.write(str(dwResult))
hOutputDevice.write(‘\n’)
return 1
import sys
CalculateAndPrintFactorialEx(6, sys.stdout, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
#Enterprise programmer
def new(cls, *args, **kwargs):
return cls(*args, **kwargs)
class Number(object):
pass
class IntegralNumber(int, Number):
def toInt(self):
return new (int, self)
class InternalBase(object):
def __init__(self, base):
self.base = base.toInt()
def getBase(self):
return new (IntegralNumber, self.base)
class MathematicsSystem(object):
def __init__(self, ibase):
Abstract
@classmethod
def getInstance(cls, ibase):
try:
cls.__instance
except AttributeError:
cls.__instance = new (cls, ibase)
return cls.__instance
class StandardMathematicsSystem(MathematicsSystem):
def __init__(self, ibase):
if ibase.getBase() != new (IntegralNumber, 2):
raise NotImplementedError
self.base = ibase.getBase()
def calculateFactorial(self, target):
result = new (IntegralNumber, 1)
i = new (IntegralNumber, 2)
while i <= target:
result = result * i
i = i + new (IntegralNumber, 1)
return result
print StandardMathematicsSystem.getInstance(new (InternalBase, new (IntegralNumber, 2))).calculateFactorial(new (IntegralNumber, 6))
Related Posts- You might be making your coworkers uncomfortable if... (See also Grumpy Coworker) you ask your black coworkers why their people are always trying to keep the white man down. you openly discuss your menstrual cycle. If someone points out the fact that you're a man, bring them up on sexual harassment charges. you push your desk away from......
- Murphy's Laws for EMS The First Law of EMS: All emergency calls will wait until you begin to eat, without regard to the time. Corollary 1: Fewer accidents would occur if EMS personnel would never eat. Corollary 2: Always order food "to go". The Law of Time: 1. There is absolutely no relationship between......
- You might be making your coworkers uncomfortable if... you reply to all on e-mail announcements about the death of a co-worker's family member with something like, "It's about time." you publicly insist that your employer recognize your chronic body odor as a disability. you enthusiastically pleasure yourself whenever someone hands you a memo. you give yourself a......
- Puns from the Inbox 1. The roundest knight at King Arthur's round table was Sir Cumference. He acquired his size from too much Pi. 2. I thought I saw an eye doctor on an Alaskan island, but it turned out to be an optical Aleutian . 3. She was only a whisky maker -......
- You might be a computer geek if... This was inspired by a site that apparently no longer exists. I'm starting this one from scratch. you rejoice at the trend toward DRM-free mp3s on Amazon, iTunes, etc... you're a card-carrying member of the EFF when you have to write with a pen, you find yourself using the Palm......
- You might be a nurse if... your friends call you for medical advice. ( lloyd , avatarj@mindspring.com ) discussing dismemberment over a gourmet meal seems perfectly normal to you (Mary) you have the bladder capacity of five people you have your weekends off planned for a year in advance you believe that "ask-a-nurse" is an......
- Beginner Cello Tips If you are just learning how to play the cello,...
- Hybrid Electric Car Auto Insurance This post is a guest blog written by Travis Overby....
- Google Fusion Tables Could be a Game Changer Google has been very busy lately with many new products...