
Quinine
-
- Posts: 144
- Joined: Fri Mar 28, 2008 11:29 pm
- Location: #hacker.org on Freenode
Quinine
That was really fun, actually. I think I beat you tails, I did it in 95
I really want to see how you did it. In so few instructions, I bet they're really similar.

-
- Posts: 144
- Joined: Fri Mar 28, 2008 11:29 pm
- Location: #hacker.org on Freenode
Thanks tails for the credit, once you hit 94 feel free to take it back 
I'll try to do Very Small World, but in the meantime here's my code:
I used a base9 + 23 encoding scheme, as it allowed me to represent everything without 0's.
The other thing I liked as abusing the c/$ operations rather than use two g's.
EDIT: I got Very Small World! These two challenges really went hand-in-hand.

I'll try to do Very Small World, but in the meantime here's my code:
Code: Select all
4136224223127322134473877258888248126363443389877287728712537310
97*^0^0^p5?88*c1gd
0^9?3+9*4-+P$
The other thing I liked as abusing the c/$ operations rather than use two g's.
EDIT: I got Very Small World! These two challenges really went hand-in-hand.
Sorry, I almost forgot to show my code.
This is my first solution, of length 97. It uses "calculated gotos" for branching.
And this is 95. It has one instruction that is never executed at runtime, shown as "a".
And I happened to make a code of length 93! It's a hybrid of therethinker's code and mine above (and so I won't claim the credit this time).
This is my first solution, of length 97. It uses "calculated gotos" for branching.
Code: Select all
47607002324232463184706032707117476070123242324631484631466022229
88*^0^p0^9:97+*gd
4+9*+P0^9:96+*g
Code: Select all
9761333393724732857161337162497797612323938247324947324761331300
79*^0^p0^5?88*cap
3+9*+P0^4?99*c
-
- Posts: 144
- Joined: Fri Mar 28, 2008 11:29 pm
- Location: #hacker.org on Freenode
-
- Posts: 144
- Joined: Fri Mar 28, 2008 11:29 pm
- Location: #hacker.org on Freenode
Oh tails!
I've also been thinking of a more efficent encoding scheme. Given enough space, you should be able to encode 4 chars in 5 #'s, but it would require so much computation/lookup it probably wouldn't become efficient.
However, encoding 2 chars in 3 #'s might be possible if you find some simple way to map a 10x5=50 combinations to the required chars.
To break even, you'd have 15 chars to implement it in, which is reasonable. Again, its all in the mapping.
I've also been thinking of a more efficent encoding scheme. Given enough space, you should be able to encode 4 chars in 5 #'s, but it would require so much computation/lookup it probably wouldn't become efficient.
However, encoding 2 chars in 3 #'s might be possible if you find some simple way to map a 10x5=50 combinations to the required chars.
To break even, you'd have 15 chars to implement it in, which is reasonable. Again, its all in the mapping.
Oh, nothing fancy. My break-through was to change the coding scheme from 8*4+x*9+y to (x+3)*9+y ... similar to your posted solutions. I just tried to integrate therethinker's $ technique. I tried to change my encoding scheme to include '$'. But I also only came up with subtracting 4, (similar to therethinker), which in the end eats the benefit.