Natasha The Robot

Currently learning... iPhone development!                                     You can follow me on Twitter here

Factorials In Javascript (With Recursion)

Posted on

To learn JavaScipt, I’m redoing some problems I’ve done to learn Ruby. Previously, I wrote a Ruby method to find a factorial of a number both recursively and non-recursively. You can read the original post here.

This is how you solve the same problem with Javascript:

Non-Recursively

//prompt user to enter a number to calculate the factorial
var num = prompt("What number do you want to find the factorial of?")

var factorial = function(n) {
	if(n == 0) {
		return 1
	} else {
		product = 1;
		for(i = 1; i <= n; i++) {
			product *= i;
		}
		return product;
	}
}

console.log(factorial(num));

Recursively

//prompt user to enter a number to calculate the factorial
var num = prompt("What number do you want to find the factorial of?")

//recursive
var factorial = function(n) {
	if(n == 0) {
		return 1
	} else {
		return n * factorial(n - 1);
	}
}

console.log(factorial(num));
  • http://twitter.com/RundBox kjd (@RundBox)

    I found a site to learn JavaScript, I got stuck there cause of their point-system. Collecting points is my weakness! haha

    http://www.codecademy.com/

    • http://natashamurashev.com Natasha Murashev

      Haha… I was playing on there yesterday myself. The only issue I had was that some of the lessons weren’t well thought out. There doesn’t seem to be much quality control.

      • http://twitter.com/RundBox kjd (@RundBox)

        Yea I noticed that too.

        But overall I think that its fun that they have a site with training javascript, html, css and jquery :)

  • http://twitter.com/jeffSLOfish Jeffrey Fisher (@jeffSLOfish)

    If n is not an integer, you get infinite recursion.

    • http://natashamurashev.com Natasha Murashev

      Cool! Thanks for letting me know.