lecture 5 learning objectives to apply division algorithm to apply the euclidean algorithm

34
LECTURE 5 Learning Objectives To apply division algorithm To apply the Euclidean algorithm

Upload: arline-boone

Post on 24-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

LECTURE 5Learning ObjectivesTo apply division algorithmTo apply the Euclidean algorithm

Page 2: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Algorithms• An algorithm is a systematic procedures (instructions) for

calculation.

• Algorithms are basic to computer programs. Essentially, a program implements one or more algorithms. Therefore, algorithmic complexity is important.

• In this Lecture, we will study a few algorithms:• Division algorithm• Euclidean algorithm• Primality testing

Page 3: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Activity 1Card 1

8 9

10 11

12 13

14 15

Card 2

4 5

6 7

12 13

14 15

Card 3

2 3

6 7

10 11

14 15

Card 4

1 3

5 7

9 11

13 15

Pick a integer between 0 to 15Is it on Card A?Is it on Card B?Is it on Card C?Is it on Card D?

Page 4: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Activity 2• Write a set of instructions (algorithms) to write all the

integers from 0 to 10.

Page 5: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Algorithm example 1• Step 1: Set• Step 2: • Step 3: • Step 4:, stop• Step 5: Go to Step 2

Page 6: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

The Division Algorithm

Page 7: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

The Division Algorithm• For any integer , we can represent a in the form of

where .

• a – integer• b – integer > 0• q – quotient • r – remainder

Page 8: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

• The process of expressing a in this way is the application of the division algorithm

• Essentially this says that we can divide one integer by another if the latter is positive, and that we get a quotient and a remainder

Algorithms

Page 9: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

• Write the following integers in the form of

1.

2.

3.

The Division Algorithm

Page 10: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

The Division Algorithm• If a > 0, then

(floor of a/b)• Example: a = 31, b = 7

• So a = bq + r gives 31 = 7 ∙ 4 + 3• Given a, b:

b

aq

4428571.47

34

7

31

q

b

aq bqar

Valid input requires a, b to be integers and b > 0

Page 11: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

The Euclidean Algorithm

Page 12: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Factors (or Divisors) and MultipleLet a, b and c be integers. • Suppose that ab = c. .

• We say that c is a multiple of a and of b.• Also, a and b are divisors or factors of c.

• Example: • 15 is the multiple of 3 and of 5.• 3 and 5 are divisors (factors) of 15.

Page 13: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Common Factor

Let m, n be positive integers.

• A positive integer q is a common factor or common divisor of m and n if it divides (is a divisor, or factor, of) both of them

• Examples: 1. What is the common factor for 16 and 242. What is the common factor for 15 and 30

Page 14: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Common Multiple• A positive integer p is a common multiple of m and n if it is a

multiple of both of them

• Examples: 1. Which of the following is the common multiple of 3 and 6?

1. 152. 183. 244. 27

2. Which of the following is the common multiple of 4 and 9?1. 362. 543. 724. 108

Page 15: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Greatest Common Divisor (GCD)

Let m, n be positive integers.

• The GCD (greatest common divisor) of m and n is the greatest number which is a common divisor of both of them

• It’s also called the highest common factor or HCF

Page 16: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Example 1

What is the GCD of 18 and 24?

gcd (18, 24) = 6?

There is a systematic procedure for getting the GCD.It’s the Euclidean algorithm.

Page 17: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Least Common Multiple• Given integers m and n, their least common multiple (LCM) is the

smallest number which is a multiple of them both

• Examples: 1. What is the LCM of 8 and 6?

2. What is the LCM of 3 and 4?

),gcd(),(

nm

nmnmlcm

The least common multiple of 2 positive integers equals

their product divided by their greatest common

divisor

Page 18: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Euclidean Algorithm

• We can get the gcd by using the Euclidean algorithm.

• This involves repeated application of the division algorithm: a = bq + r

• Euclidean Algorithm

11

11

3221

211

10

nnn

nnnn

rqr

rrqr

rrqr

rrqb

rbqa

When the remainder becomes zero, we look back to the previous remainder, rn+1.

This must be the gcd of a and b.

Page 19: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Example 2

gcd (96, 22) = ?

96 = 4 ∙ 22 + 8

22 = 2 ∙ 8 + 6

8 = 1 ∙ 6 + 2

6 = 3 ∙ 2

The last nonzero remainder was 2. Therefore, gcd (96, 22) = 2.

10562

2296

)22,96gcd(

2296)22,96(

lcm

No remainder

Page 20: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Example 3

gcd (63, 256) = ?

256 = 4 ∙ 63 + 4

63 = 15 ∙ 4 + 3

4 = 1 ∙ 3 + 1

3 = 3 ∙ 1

The last nonzero remainder was 1. Therefore, gcd (63, 256) = 1.

128,161

25663

)256,63gcd(

25663)256,63(

lcm

No remainder

Page 21: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Extension to the Euclidean Algorithm

• If d = gcd(m, n) then d can be expressed as a linear combination

d = xm + ynof m and n, where x and y are integers

• To find x and y, we work back through the steps of the Euclidean algorithm from bottom to top

Page 22: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Example 4• It can be shown that gcd(22, 96) = 2:

96 = 4 ∙ 22 + 822 = 2 ∙ 8 + 68 = 1 ∙ 6 + 2

6 = 3 ∙ 2• Now we want to express 2 as a linear combination 2 = x(22) + y(96). We use the

second-last line to make 2 the subject of the equation:2 = 8 – 1 ∙ 6

• Next we use the third-last line to express 6 in terms of 22 and 8, substituting this into the equation we’ve just produced:

2 = 8 – 1 ∙ 6= 8 – 1 ∙ (22 – 2 ∙ 8)

= 8 – 1 ∙ 22 + 1 ∙ 2 ∙ 8= 3 ∙ 8 – 1 ∙ 22

Page 23: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Example 4 (cont.)• Finally we use the fourth-last line to express 8 in terms of 96 and 22,

substitution this into our most recent equation

2 = 3 ∙ 8 – 1 ∙ 22

2= 3 ∙ (96 – 4 ∙ 22) – 1 ∙ 22

2= 3 ∙ 96 – 3 ∙ 4 ∙ 22 – 1 ∙ 22

2= 3 ∙ 96 – 13 ∙ 22

x=3, y=-4

Page 24: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Example 5It can be shown that the gcd of 63 and 256 equals 1:

256 = 4 ∙ 63 + 463 = 15 ∙ 4 + 34 = 1 ∙ 3 + 1

3 = 3 ∙ 1Then we work upwards from the second-last line, as follows:

1 = 4 - 1 ∙ 3= 4 – 1 ∙ (63 – 15 ∙ 4)= 4 - 1 ∙ 63 + 1 ∙ 15 ∙ 4

= 16 ∙ 4 – 1 ∙ 63= 16 ∙ (256 – 4 ∙ 63) – 1 ∙ 63= 16 ∙ 256 – 64 ∙ 63 - 1 ∙ 63

= 16 ∙ 256 – 65 ∙ 63• So 1 = 16 ∙ 256 – 65 ∙ 63.

• In this example, 63 and 256 are relatively prime.

Page 25: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Prime Numbers• A prime number is an integer ≥ 2 which has no factors

except itself and 1• Prime numbers: 2, 3, 5, 7, …

• Prime numbers play a vital role in coding and cryptography

• We say two positive integers are relatively prime (in relation to each other) if their gcd equals 1• So 63 and 256 are relatively prime (to each other), even though

neither of them is a prime number

Page 26: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

http://news.bbc.co.uk/2/hi/science/nature/1693364.stm, accessed 1st September 2009

BBC News (online) dated 5th December 2001

Page 27: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Prime Number• How do you determine a prime number?

• PrinciplePrime number is an integer that is only divisible by 1 and the integer itself.

• If an integer is divisible by integers other than 1 and itself, it is not a prime number.

• Example:Is 357 a prime number?Is 271 a prime number?

Page 28: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Prime Number• Is 357 a prime number?

• Solution:is 357 a prime number?

•357 is not divisible by 2.

• 119357 is divisible by 3, it is not a prime number.

Page 29: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Prime Number• Is 271 a prime number?

• Solution:•

271 is not divisible by 2.

• 271 is not divisible by 3.

• 271 is not divisible by 5

• …Continue to divide 271 by all the odd integers. We find that 271 is not divisible by any integer.

• Conclusion: 271 is prime number.

Page 30: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Prime Number• Algorithm to determine a prime number.

• Assignt = an integer to be tested,d= integer as divisor

• Step 1: Set d = 2• Step 2: if t mod d = 0, then t is not a prime number. Stop.• Step 3: Set d = 3• Step 4: if t mod d = 0, then t is not a prime number. Stop.• Step 5: d = d + 2• Step 6: if go to step 4• Step 7: t is a prime number.

Page 31: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Activity 3• Write down the first ten prime numbers.

• 2• 3• 5• 7• 11• 13• 17• 19• 23• 29

Page 32: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

The End

Page 33: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

RMIT University; Taylor's College

Page 34: LECTURE 5 Learning Objectives  To apply division algorithm  To apply the Euclidean algorithm

Prime Number• Algorithm to determine the first 10 prime numbers.

• Assignt = an integer to be tested,d = integer as divisor

• Step 1: Set t = 2• Step 2: Set d = 2• Step 3: Do step 4 to step if d < t. Else, t is a prime number. Go to Step

.• Step 4: if t mod d = 0, then t is not a prime number. Stop.• Step 5: Set d = 3• Step 4: if t mod d = 0, then t is not a prime number. Stop.• Step 5: d = d + 2• Step 6: if go to step 4• Step 7: t is a prime number.