Collatz Conjecture (from 99,000)
=se24E0)"Hailstone sequence for ")se@a)se(D(A*se#!2:!:0
?1?^.o$se2^.r@o&se3>se1@r:se:1?1?^.a
Prime number finder
This program uses decimal (+A) instead of hexatrigesimal, and leans heavily on the stack, the ? operator and the new # operator. It misses out 3 and 2 on output, as it uses integral division to ameliorate it's otherwise O(n) behaviour. Of course, halving the search space is still regarded as having O(n) characteristics, but you can notice the difference in performance!
+A)"Enter start: ",=cu!)"Primes <= ")cu(13(10
@o*cu$!2=ca!
@i*cu#!ca?0?^.n<ca1:ca:1?1?^.i)cu)" "
@n<cu1*cu<!1^!o
Simple calculator
A very simple integral calculator.
+A)"WARP simple calculator: Enter q (as operator) to quit, c (as operator) to clear "(13(10
=ac0@l)"Enter operator: ",=op!:op:"q"?0?^.e:op:"c"?0?^.c
)"Enter operand: ",=nu!:op:"+"?0?>acnu:op:"-"?0?<acnu:op:"*"?0?&acnu:op:"/"?0?$acnu
^.p@c=ac0@p)ac(13(10^.l@e
Reverse an entered string
This example uses a feature not present in the 1.7 release - stack rotation using the ' operator.
)"Enter a string to reverse: ",=st!%st@r=ch!'*ch'^_r'@p)!^_p
Specification here: http://esolangs.org/wiki/WARP
Mostly complete interpreter: http://esotericinterpreters.codeplex.com/
No comments:
Post a Comment