#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- Drunk needs a push GOTTA  LOVE DRUNK PEOPLE   A man, and his wife are awakened at 3  o'clock in the morning by  loud pounding on the  door.  The man gets up and goes to the door where a drunken  stranger,  standing in the pouring rain, is asking for a  push.......
- 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......
- 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 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......
- Operating Systems for Your Brain If your brain required an operating system like your computer does, what would it be like? Windows for brains: You think about one of any number of things at anyone time but only for a short amount of time because then your mind goes blank as you encounter a "general ......
- 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......
- Google Fusion Tables Could be a Game Changer Google has been very busy lately with many new products...
- 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....