Задача из проекта Эйлера 1 в фактор


Я полный новичок фактор, но я просто удалось решить Эйлера Задача № 1 Используя это, и хотел бы, чтобы код пересмотреть. Все, что может быть улучшено? В частности, я интересно, если есть уборщик или более идиоматические способ, чтобы написать mult3or5? слово.

USING: math kernel sequences math.ranges prettyprint ;
IN: euler1

: mult? ( x y -- ? ) rem 0 = ;

: mult3? ( x -- ? ) 3 mult? ;
: mult5? ( x -- ? ) 5 mult? ;

: mult3or5? ( x -- ? ) dup mult3? swap mult5? or ;

: sumMultsOf3or5 ( seq -- n ) [ mult3or5? ] filter sum ;

: solveEuler1 ( -- ) 0 1000 (a,b) sumMultsOf3or5 . ;


324
10
задан 27 сентября 2011 в 08:09 Источник Поделиться
Комментарии
2 ответа

ДУП Ф своп G-это распространенный фразеологизм, поэтому фактор Би.

: mult3or5? ( x -- ? ) [ mult3? ] [ mult5? ] bi or ;

6
ответ дан 22 июня 2012 в 01:06 Источник Поделиться

Я начинающий фактор тоже, но я использую ноль? слово от математика в определении мульт:

: mult? ( x y -- ? ) rem zero? ;

5
ответ дан 28 сентября 2011 в 11:09 Источник Поделиться