1 reverse (list) :: [Int] -> [Int] {
3 while (! isEmpty (list)) {
4 accu = list . hd : accu;
10 coPrimeWith (elem, list) :: Int -> [Int] -> Bool {
14 if (elem % list.hd == 0) {
17 return coPrimeWith(elem, list.tl);
22 factorize (n) :: Int -> [Int] {
26 if (n % i == 0 && coPrimeWith(i, primes)) {
27 print("Found prime: ", i);
35 print_list_inner (list) :: [Int] -> Void {
40 if (!isEmpty(list.tl)) {
44 return print_list_inner(list.tl);
48 print_list (list) :: [Int] -> Void {
50 print_list_inner(list);
58 //var number = 692963517;
60 var result = reverse(factorize(number));