recursive factorial demo

19
Introduction to Computer Science Robert Sedgewick and Kevin Wayne http://www.cs.Princeton.EDU/IntroCS Recursive Factorial Demo pubic class Factorial { public static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); } public static void main(String[] args) { System.out.println(fact(3)); } }

Upload: austin

Post on 06-Jan-2016

20 views

Category:

Documents


2 download

DESCRIPTION

Recursive Factorial Demo. pubic class Factorial { public static int fact ( int n ) { if ( n == 0 ) return 1 ; else return n * fact ( n - 1 ); } public static void main ( String [] args ) { System . out . println ( fact ( 3 )); } }. static int fact ( int n ) { - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Recursive Factorial Demo

Introduction to Computer Science • Robert Sedgewick and Kevin Wayne • http://www.cs.Princeton.EDU/IntroCS

Recursive Factorial Demo

pubic class Factorial { public static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

public static void main(String[] args) { System.out.println(fact(3)); }}

Page 2: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

Page 3: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

Page 4: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

Page 5: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

Page 6: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

Page 7: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

Page 8: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

Page 9: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

Page 10: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

Page 11: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(0)n = 0

environment

Page 12: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(0)n = 0

environment

Page 13: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(0)n = 0

environment

1

Page 14: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

11

Page 15: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(1)n = 1

environment

11

1

Page 16: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

12

Page 17: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(2)n = 2

environment

12

2

Page 18: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

23

Page 19: Recursive Factorial Demo

static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

fact(3)n = 3

environment

23

% java Factorial6

public class Factorial { public static int fact(int n) { if (n == 0) return 1; else return n * fact(n-1); }

public static void main(String[] args) { System.out.println(fact(3)); }}

6