Программирование ракеток. Куда я иду не так?

На вопрос, на который я пытаюсь ответить:
Основными факторами 13195 являются 5, 7, 13 и 29. Какой самый большой главный фактор числа 600851475143?

Куда я иду не так? мой премьер? Тест, кажется, проблема, но она отлично работает на относительно небольших количествах. Однако премьер? Тест дает неправильный ответ с большими числами. Есть ли более простой способ сделать это?

    (define b 3)

    (define z 0)

    (define divides?
      (lambda (a b)
        (= (remainder a b) 0)))

    (define (prime? n)
        (cond
          ((or (= n 1) (= n 0)) false)
          ((even? n) false)
          ((= n 2) true)
          ((= n b) true)
          ((divides? n b) false)
          (else (and (set! b (+ b 1)) (prime? n)))))

    ;Largest Prime Factor Test
    (define (LPF x)
      (cond
        ((divides? 600851475143 x)
         (cond
           ((prime? x)
            (cond
              ((> x z) (set! z x)))))))
      (if (< x 775146) (LPF (+ x 1)) (display z)))

Ответы на вопрос(2)

Ваш ответ на вопрос