## Exercise 1.1 ```python def zorglub(n: int) -> int: j = 1 k = 0 i = 1 while i <= n: j = i * j k = j + k i = i + 1 return k ``` The function return the sum of the factorial of n ## Exercise 1.2 ``` def multiplication(x: int, y: int) -> int: result = 0 while y > 0: m += x y -= 1 return result def multiplication2(x: int, y: int) -> int: result = 0 if x < 0 and y < 0: i = 0 x = -x y = -y while i < y: result = result + x i += 1 return result elif y < 0: y = -y i = 0 while i < y: result = result + x i += 1 return -result else: i = 0 while i < y: result = result + x i += 1 return result def multiplication2(x: int, y: int) -> int: if x < 0 and y < 0: return multiplication(-x, -y) elif y < 0: return -multiplication(x, -y) elif x < 0: return -multiplication(-x, y) else return multiplication(x, y) ``` ## Exercise 1.3 ``` def exponentiation(x: int, n: int) -> int: