The Integers Division Division a divides b if
The Integers & Division
Division • a divides b if • a is not zero • there is a m such that a. m = b • “a is a factor of b” • “b is a multiple of a” • a|b
Division • If a|b and a|c then a|(b+c) • “If a divides b and a divides c then a divides b plus c” • a|b a. x = b • a|c a. y = c • b+c = a. x + a. y • = a(x + y) • and that is divisible by a
Division • a|b a. m = b • b. c = a. m. c • which is divisible by a
Division • a|b a. x = b • b|c b. y = c • c = a. x. y • and that is divisible by a
Division Theorem 1 (page 202, 6 th ed, page 154, 5 th ed)
Primes • p > 1 is prime if the only positive factors are 1 and p • if p is not prime it is composite The Fundamental Theorem of Arithmetic Every positive integer can be expressed as a unique product of primes My name is Euclid
Primes There is no other factoring!
325 BC to 265 BC Euclid of Alexandria
Primes Euclid’s words “if a number be the least that is measured by prime numbers, it will not be measured by any other prime except those originally measuring it “ Where “measuring” is “dividing” The Elements
Proof of Fundamental Theorem of Arithmetic • Well Ordering Principle (WOP) • every non-empty set of positive integers has a least element RTP: Every integer n > 1 can be written as a product of primes • If n is prime we are done • n is composite and has a positive divisor 1 < p < n • let p 1 be the smallest of these divisors • p 1 must be prime otherwise • there is an integer k, 1 < k < p 1, and k divides p 1 • consequently n = n 1 times p 1 (i. e. n 1 = n p 1) • where p 1 is prime and n 1 < n • repeat the argument with n 1 • If n 1 is prime we are done • otherwise n 1 = n 2 times p 2 • where p 2 is prime and n 2 < n 1 and p 2 p 1 • … this process terminates due to the WOP
PRIMES The dumb way to test if n is prime • if n is divisible by 2 return(“composite”) • if n is divisible by 3 return(“composite”) • if n is divisible by 4 return(“composite”) • … • if n is divisible by n-1 return(“composite”) • return(“prime”) Question: is n (n > 2) ever divisible by n-1?
PRIMES Put another way Therefore, the divisor a or b is either prime or due to the fundamental theorem of arithmetic, can be expressed as a product of primes (p 211 6 th ed, p 155 5 th ed)
PRIMES We now have a test for primality If a number is not composite it is prime If a number is prime then it does NOT have a prime divisor less than or equal to n Therefore we can test if n is divisible by primes in the range 2 to n If none are found n must be prime
Primes Prove that 41 is prime To be prime, 41 must not be composite If composite 41 has a divisor less than or equal to square root of 41 The only primes not exceeding 6 are 2, 3, and 5 None of these divides 41 Therefore 41 is not composite, it is prime Remember: floor(x) x the largest integer smaller than x
Primes for the class! Prove that 67 is prime To be prime, 67 must not be composite If composite 67 has a divisor less than or equal to square root of 67 The only primes not exceeding 8 are 2, 3, 5, and 7 None of these divides 67 Therefore 67 is not composite, it is prime
Is 51 prime? Consider prime divisors 2, 3, 5, 7 only
Primes Compute the prime factorisation of n The Fundamental Theorem of Arithmetic Revisited Every positive integer can be expressed as a unique product of primes
Primes Compute the prime factorisation of n • assume next. Prime(i) delivers next prime number greater than i • next. Prime(7) = 11 and next. Prime(7)) = 13 • floor(sqrt(n)) delivers largest integer square root of n • floor(sqrt(97)) = 9 p : = 2; // the 1 st prime root. N : = floor(sqrt(N)) // where we stop while p <= root. N do begin if p|n then begin print(p); // p is a prime divisor n : = n/p; root. N : = floor(sqrt(n)); end else p : = next. Prime(p); end print(p);
Primes print 7 print 11 print 13 N 7007 p root. N 2 83 3 83 5 83 7 83 1001 7 31 143 7 11 11 11 13 11 3 p : = 2; // the 1 st prime root. N : = floor(sqrt(N)) // where we stop while p <= root. N do begin if p|n then begin print(p); // p is a prime divisor n : = n/p; root. N : = floor(sqrt(n)); end else p : = next. Prime(p); end print(p); 7007 = 7. 7. 11. 13
The Division Algorithm (aint no algorithm) • a is an integer and d is a positive integer • there exists unique integers q and r, • 0 r d • a = d. q. + r a divided by d = q remainder r dividend divisor quotient remainder NOTE: remainder r is positive and divisor d is positive
Division • a = d. q + r and 0 <= r < d • a = -11 and d = 3 and 0 <= r < 3 • -11 = 3 q + r • q = -4 and r = 1 • a = d. q + r and 0 <= r < d • a = -63 and d = 20 and 0 <= r <= 20 • -63 = 20 q + r • q = -4 and r = 17 • a = d. q + r and 0 <= r < d • a = -25 and d = 15 and 0 <= r < 15 • -25 = 15. q + r • q = -2 and r = 10
Division • a = d. q + r and 0 <= r < d • a = -11 and d = 3 and 0 <= r < 3 • -11 = 3 q + r • q = -4 and r = 1 Troubled by this? Did you expect q = -3 and r = -2? What if 3 of you went to a café and got a bill for £ 11? Would you each put £ 3 down and then leg it? Or £ 4 each and leave £ 1 tip?
Greatest common divisor gcd(a, b) and Least common multiple • gcd(a, b) is largest d such that d|a and d|b • if gcd(a, b) = 1 then a and b are relative prime • lcm(a, b) is the smallest/least x such that a|x and b|x • 3 Naïve algorithms for gcd(a, b) • start with x at 1 up to min(a, b) testing if x | a and x |b • remember the last (largest) successful value • start with x at min(a, b) and count down to 1 testing if x|a and x|b • stop when the first value of x is found • compute the prime factorisation of a and of b • and then see below
Greatest common divisor gcd(a, b) • gcd(120, 500) • prime factorisation of 120 is 2. 2. 2. 3. 5 • prime factorisation of 500 is 2. 2. 5. 5. 5 20 … but there is a better algorithm (wots an algorithm? )
Lowest/least common multiple lcm(a, b) = smallest x divisible by a and by b • lcm(95256, 432) • prime factorisation of 95256 is 2. 2. 2. 3. 3. 3. 7. 7 • prime factorisation of 432 is 2. 2. 3. 3. 3 190512
mod arithmetic • a mod m is the remainder of a divided by m • a mod m is the integer r such that • a = qm + r and 0 <= r < m • again, r is positive • Examples • 17 mod 3 = 2 • 17 mod 12 = 5 (5 o’clock) • -17 mod 3 = 1
mod arithmetic a is congruent to b modulo m if m divides a - b congruences
mod arithmetic a is congruent to b modulo m if m divides a - b
mod arithmetic a is congruent to b modulo m if m divides a - b
mod arithmetic a is congruent to b modulo m if m divides a - b
mod arithmetic a is congruent to b modulo m if m divides a - b
Mod arithmetic • -133 mod 9 = 2 (but in Claire? ) • list 5 numbers that are congruent to 4 modulo 12 • hash function h(k) = k mod 101 • h(104578690) • h(432222187) • h(372201919) • h(501338753) examples
What have we done? (summary) • divisibility a | b • FTA • proof of FTA • test for primality • computation of prime factorisation • gcd and lcm • Division algorithm • aint no algorithm • Mod arithmetic • congruences
Division and multiplication That’s all for now folks
- Slides: 38