У меня есть процедура, которая может найти n
наименьшие простые числа больше, чем from
Как уменьшить значение на схеме?
(define (primes_range from to n)
(for ([i (in-range from to)])
(if (> n 0)
(cond ((prime? i) (display i)
(- n 1)))
false)))
добавить параметр n
к процедуре primes_range
и уменьшить его во время выполнения, только если премьер был найден. Но n
не изменился. Как это исправить?
'(- п 1)' представляет собой число (в частности, это я - 1), она не изменяет переменную. Я бы рекомендовал вам не пытаться напрямую переводить программы с других языков, но вместо этого изучать Схему. – molbdnilo
Спасибо, в настоящее время я решаю SICP. Это хорошая книга? – Anatoly
Это отличная книга, одна из лучших, но вам нужно забыть, что вы узнали на других языках. – molbdnilo