19
Introduction to Computer Science Robert Sedgewick and Kevin Wayne Copyright © 2006 http://www.cs.Princeton.EDU/IntroCS Recursive GCD Demo public class Euclid { public static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); } public static void main(String[] args) { int p = Integer.parseInt(args[0]); int q = Integer.parseInt(args[1]); System.out.println(gcd(p, q)); } }

Recursive GCD Demo

  • Upload
    cai

  • View
    31

  • Download
    2

Embed Size (px)

DESCRIPTION

Recursive GCD Demo. public class Euclid { public static int gcd ( int p , int q ) { if ( q == 0 ) return p ; else return gcd ( q , p % q ); } public static void main ( String [] args ) { int p = Integer . parseInt ( args [ 0 ]); int q = Integer . parseInt ( args [ 1 ]); - PowerPoint PPT Presentation

Citation preview

Page 1: Recursive GCD Demo

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

Recursive GCD Demo

public class Euclid { public static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

public static void main(String[] args) { int p = Integer.parseInt(args[0]); int q = Integer.parseInt(args[1]); System.out.println(gcd(p, q)); }}

Page 2: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)p = 1272, q =

216environment

Page 3: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)p = 1272, q =

216environment

Page 4: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)p = 1272, q =

216environment

Page 5: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)p = 216, q = 192

environment

p = 1272, q = 216

environment

1272 = 216 5 + 192

Page 6: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)p = 1272, q =

216environment

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)p = 216, q = 192

environment

Page 7: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)p = 1272, q =

216environment

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)p = 216, q = 192

environment

Page 8: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)environment

p = 192, q = 24

p = 216, q = 192

environment

p = 1272, q = 216

environment

Page 9: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)environment

p = 192, q = 24

p = 216, q = 192

environment

p = 1272, q = 216

environment

Page 10: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)environment

p = 192, q = 24

p = 216, q = 192

environment

p = 1272, q = 216

environment

Page 11: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)environment

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(24, 0)p = 24, q =

0environment

p = 192, q = 24

p = 216, q = 192

environment

p = 1272, q = 216

environment

Page 12: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)environment

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(24, 0)p = 24, q =

0environment

p = 192, q = 24

p = 216, q = 192

environment

p = 1272, q = 216

environment

Page 13: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)environment

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(24, 0)p = 24, q =

0environment

p = 192, q = 24

p = 216, q = 192

environment

p = 1272, q = 216

environment

24

Page 14: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)environment

24

p = 192, q = 24

p = 216, q = 192

environment

p = 1272, q = 216

environment

Page 15: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(192, 24)p = 192, q =

24environment

24

p = 216, q = 192

environment

p = 1272, q = 216

environment

24

Page 16: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)

24

p = 216, q = 192

environment

p = 1272, q = 216

environment

Page 17: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(216, 192)p = 216, q = 192

environment

24

p = 1272, q = 216

environment

24

Page 18: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)

24

p = 1272, q = 216

environment

Page 19: Recursive GCD Demo

static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

gcd(1272, 216)p = 1272, q =

216environment

24

public class Euclid { public static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p % q); }

public static void main(String[] args) { int p = Integer.parseInt(args[0]); int q = Integer.parseInt(args[1]); System.out.println(gcd(p, q)); }}

24

24

% java Euclid 1272 21624