Name: Anonymous 2007-10-25 15:20
// Newbie programmer
function fib(n){
if ( n == 0 ) return 0;
if ( n == 1 ) return 1;
return fib(n - 1) + fib(n - 2);
}
alert(fib(6));
// First year programmer, studied C
function fib(n){
var a=1,b=0;
for(;n;){
--n;
a+=b;
b=a-b;
}
return b;
}
alert(fib(6));
// First year programmer, studied lisp
function fib(n){
return (function(){
return --arguments[arguments['callee']['length']]?
arguments['callee'](arguments[arguments['callee']['length']])+
(function(){
return --arguments[arguments['callee']['length']]?
arguments['callee']['caller'](arguments[arguments['callee']['length']]):
++arguments['callee']['length']
})(arguments['callee']['length']):
arguments[arguments['callee']['length']]
})(arguments[arguments['callee']['length']])
}
alert(fib(6));
// First year programmer, JavaScript
function fib(n){
return n>1?fib(n-1)+(n-2):n;
}
alert(fib(6));
// Lazy JavaScript programmer
alert((function(n){return n>1?arguments.callee(n-1)+arguments.callee(n-2):n})(6))
// Lazier JavaScript programmer
alert(8);
// JavaScript expert programmer
var fibs=new Array(0,1);
function fib(n){
return fibs[n]!=undefined?fib(n-1)+fib(n-2):fibs[n];
}
alert(fib(8));
// JavaScript hacker
var x=new XMLHttpRequest();
x.open('GET','http://www.thedods.com/cgi-bin/fib.cgi?'+n,false);
x.send();
alert(x.responseText);
// EXPERT PROGRAMMER
function fib(n){
var p=Math.sqrt(5);
return (Math.pow(1+p,n)-Math.pow(1-p,n))/Math.pow(2,n)*p;
}
alert(fib(6));
// Enterprise programmer
Number.prototype.calculateFibonacciNumber = function(){
return (1 / Math.sqrt(5)) *
(Math.pow((1 + Math.sqrt(5)) / 2, this) -
Math.pow(2 / (1 + Math.sqrt(5)), this) * Math.cos(this * Math.PI));
}
var myNumber=new Number(6);
myNumber = myNumber.calculateFibonacciNumber();
document.body.appendChild(document.createElement('p').appendChild(document.createTextNode(myNumber)));