CLS PRINT " +----------------------------------------------+ " PRINT " | | " PRINT " | MATHEMATICAL UTILITIES | " PRINT " | | " PRINT " | Copy any functions you need into | " PRINT " | your own programs. | " PRINT " | | " PRINT " | | " PRINT " | max (a, b) - The larger of two numbers | " PRINT " | min (a, b) - The smaller of two numbers | " PRINT " | fib (n) - Nth fibonacci number | " PRINT " | fact (n) - The factorial of N | " PRINT " | gcd (a, b) - The greatest common | " PRINT " | divisor of A and B | " PRINT " | | " PRINT " +----------------------------------------------+ "' // Maximum/minimum FUNC max (a, b) CLOSED IF a > b THEN RETURN a ELSE RETURN b ENDIF ENDFUNC max FUNC min (a, b) CLOSED IF a < b THEN RETURN a ELSE RETURN b ENDIF ENDFUNC min // Fibonacci sequence FUNC fib (n) CLOSED f1 := 0 f2 := 1 FOR i := 1 TO n DO f3 := f1 + f2 f1 := f2 f2 := f3 NEXT i RETURN f1 ENDFUNC fib // Factorial function FUNC fact (n) CLOSED result := 1 FOR i := 2 TO n DO result := result * i NEXT i RETURN result ENDFUNC fact // Greatest common divisor (using "Euclid's algorithm") FUNC gcd (a, b) CLOSED IF b = 0 THEN RETURN a ELSE RETURN gcd (b, a MOD b) ENDIF ENDFUNC gcd