Presentation is loading. Please wait.

Presentation is loading. Please wait.

Recall: d is a divisor of n  n % d == 0

Similar presentations


Presentation on theme: "Recall: d is a divisor of n  n % d == 0"— Presentation transcript:

1 Recall: d is a divisor of n  n % d == 0 last digit of n  last = n % 10 removing last digit  n = n // 10 adding digit to n  n = n * 10 + digit How to solve a problem? identify inputs and outputs find the calculations, selection and repetitions to solve it

2 A function is a piece of code introduced by def that:
Python functions Python programs are made of a sequence of functions. These function can be called within the program or outside in the shell. A function is a piece of code introduced by def that: Has a name Has some arguments which are the inputs Returns some values which are the outputs Has some code to calculate the outputs from the inputs

3 The function head starts with def and finished with :
def functionName(arg1, arg2, …): statem1 statem2 return output # end functionName The function head starts with def and finished with : The function body calculates the output from the input args The output is returned. The function is called by its name output = functionName(a1,a2,..)

4 Function to calculate the min, max values of a and b.
- inputs: a, b are arguments - output: min, max must returned - how to calculate? Use an if selection

5 def minMax(a, b) : ‘’’ function to calculate the max and min values of a and b. ‘’’ if a>b : max, min = a, b else: max, min = b, a # endif return min, max # end minMax

6 ‘’’ find the max value for a,b,c,d.’’’ min1, max1 = minMax(a,b)
Function to calculate the maximum value of 4 numbers a, b, c, d. def maximum4(a,b,c,d) : ‘’’ find the max value for a,b,c,d.’’’ min1, max1 = minMax(a,b) min2, max2 = minMax(c,d) min, max = minMax(max1, max2) return max # end maximum4

7 Functions are written once and used multiple times.

8 Prime numbers n is prime when: 1) it has only 2 divisors 1 and n 2) it has not any proper divisor in range of 2, 3, 4,…, sqrt(n)

9 Write a function to test if a number n is prime.
- input: n - output: ans - how to do it? 1) test 2  ans = True 3) test even number  ans = False 4) repeat for a potential odd divisor 3,5,.., ? if d is a divisor then ans = False ans = true

10 def isPrime(n): ‘’’ function to test primality.’’’ if n == 1 : return False # endif if n == 2 : return True #endif for d in range(3, math.sqrt(n)+1;2) : if n % d == 0 : return False # endif #endfor return True

11 The Euclidian Algorithm Find the gcd of 2 numbers a, b. Solutions:
Find prime decomposition and choose the common primes with the smallest exponents a = 2**4 * 3**2 * 5 and b = 2 * 5 **2 gcd = 2 ** 1 * 5 **1 Euclidian algorithm does consecutive divisions Divide a to b to find res and rem Change a = b and b = rem

12 Example a = 56 and b = 40 1) a = 56, b= 40  res = a // b = 1 rem = a % b = 16 2) a = 40, b = 16  res = a // b = 2 rem = a%b =8 3) a = 16, b = 8 res = a//b = 2 rem = a%b =0 4) a = 8, b = 0  repetition stops gcd = 8 the last remainder different than 0

13 The number of division in the algorithm is log (max(a,b)) hence just few divisions.


Download ppt "Recall: d is a divisor of n  n % d == 0"

Similar presentations


Ads by Google