Files
zorth/examples/euler-3.zorth

39 lines
440 B
Plaintext

: over swap dup rot rot ;
: rem over over / * - ;
: false 0 ;
: true 1 ;
: palindrome?
mem 0 !
dup begin
dup 0 >
while
dup 10 rem mem @ 10 * + mem swap !
10 /
repeat
drop
mem @ =
;
: ans mem 8 + ;
1 begin
dup 999 <
while
1 begin
dup 999 <
while
over over *
dup palindrome? if
dup ans @ > if ans swap ! else drop fi
else
drop
fi
1+
repeat
drop
1+
repeat
ans @ .