6
1
Introduction
I found a really interesting puzzle it was called Busy Brain Beaver. But it has been 3 years since the latest activity and there are some things I didn't like about it. So I decided to make a new one.
The Rules
I want this one to be more brainfuck focused:
- Your goal is to make a brainfuck program that outputs the biggest number.
- It has to output that number in finite time so you can't say
+[+].outputs infinity (it doesn't have to terminate ex:+.[+]is OK) - Your program can only be 500 useful characters(non-brainfuck characters don't count)
- You can assume
.outputs your number (in decimal notation). - Only the first output counts (so you can't say
+[+.]outputs infinity) - You can't ask for input so
,is ignored - This takes place in a special brainfuck environment:
- There are an infinite amount of cell to the left and to the right.
- All cells start at 0
- All cells can hold any integer (so
-at 0 becomes -1)
- Give an approximation (lower bound) for which number your program would output (given an arbitrarily finite time) (if you are using a special notation please say which one or provide a link)
- An explanation of your algorithm would be appreciated. (posting the formatted and commented version will be appreciated too)
Not a duplicate
It was marked as a possible duplicate of Largest Number Printable I think this is different because:
- This question is brainfuck focused. And in largest number printable brainfuck isn't even allowed. Yes they are both a busy beaver. But if you think these two are duplicates then any two busy beavers are duplicates. The difference between a brainfuck contest and a non-brainfuck contest is really big. And before it got closed people seemed to have a lot of interest in this one.
- The goal here is to output a long number not a lot of bytes
Leader Board (top 10)
- Gabriel Benamy 2↑↑↑411
- Mike Bufardeci 4277772 = 163*(162*162)
- fejfo 60762 = 246*247
5I think without a character limit this is too broad because no matter what the current best answer is, I can copy it and add one
+to the end to get an even better score. If recommend removing the section about "alternative goal" and adding a character limit. – James – 9 years ago1
I find the sandbox very useful for getting feedback on challenge ideas to fine tune them before posting.
– trichoplax – 9 years ago4
@mbomb007, a better dupe target is http://codegolf.stackexchange.com/q/18028/194
– Peter Taylor – 9 years ago1I didn't know of the sandbox. Is it to late to use it now and post an edited question later? – fejfo – 9 years ago
+++++++[>+++++++<-]>..........................etc til 500 instantly wins surely (or something close to it) Just tested it and got an output of 480 1s in a row – Alfie Goodacre – 9 years ago1@fejfo No. Feel free to post in there and edit this question after, or post a new one if its significantly different. – mbomb007 – 9 years ago
Would just like to mention that the modifications to brainfuck you are describing are very similar to P''.
– Post Rock Garf Hunter – 9 years ago@Alfie Goodacre the goal is not to have as many ones in a row as possible but to get the lagest number. And if I understand your code correctly it only outputs 7777777....7 that's easily beatable. – fejfo – 9 years ago
@fejfo I was pointing out the lack of clarity, as far as I am concerned the number 1.1(recurring)e479 is a pretty big number – Alfie Goodacre – 9 years ago
@AlfieGoodacre 1.1(recurring)e479 is beated by something like 3↑↑4 (3^7,625,597,484,987 and I made a program for chained arrow notation – fejfo – 9 years ago
Relevant – Gabriel Benamy – 9 years ago
What counts as the number? The output (
1is 49), or the value for the pointer (0x01is1)? – user41805 – 9 years ago@KritixiLithos With output number I meant the value of the cell where the pointer is at the . comment – fejfo – 9 years ago
2
At this point, anything higher than what I provided will be purely theoretical, but you can test your algorithms by converting everything to COW and testing it here.
– Gabriel Benamy – 9 years ago+ = MoO, - = MOo, < = mOo, > = moO, [ = MOO, ] = moo, . = OOMI suggest using this stack snippet for the leaderboard even though it may not work with the theoretical answers that will surely roll in.
– Mike Bufardeci – 9 years ago@MikeBufardeci does it work with arrow notation ect? – fejfo – 9 years ago
@GabrielBenamy does COW need a space between commands? – fejfo – 9 years ago
No, spaces are considered comments. – Gabriel Benamy – 9 years ago
@fejfo I can't imagine it does, but I'm sure you could modify it to compare arrow numbers to each other, and assume that any number with an arrow is larger than a number without. – Mike Bufardeci – 9 years ago
@MikeBufardeci it's probebly not worth the time to update the code every time a new notation is used. I think I will just keep updating it regularly. – fejfo – 9 years ago
@fejfo I hope that arrow notation will be sufficient for all answers but it is up to you to decide how to update the scoreboard. – Mike Bufardeci – 9 years ago
@GabrielBenamy I tried to get the converting too cow thing but I can't get it to work not sure if it is because I made a mistake or if the program simply takes to long to complete – fejfo – 9 years ago
Here's my answer with two leading + signs – Gabriel Benamy – 9 years ago
@trichoplax why was this closed? Didn't I make clear why it was different? – fejfo – 9 years ago
@Peter Taylor can I just ask you all why you think this is a duplicate? (So you can explain to me how Largest Number Printable removes the need for my contest or I can explain to you why it is necessary) – fejfo – 9 years ago
@Easterly Irk can I just ask you all why you think this is a duplicate? (So you can explain to me how Largest Number Printable removes the need for my contest or I can explain to you why it is necessary) – fejfo – 9 years ago
@george can I just ask you all why you think this is a duplicate? (So you can explain to me how Largest Number Printable removes the need for my contest or I can explain to you why it is necessary) – fejfo – 9 years ago
@Flp.Tkc can I just ask you all why you think this is a duplicate? (So you can explain to me how Largest Number Printable removes the need for my contest or I can explain to you why it is necessary) – fejfo – 9 years ago
@Mego can I just ask you all why you think this is a duplicate? (So you can explain to me how Largest Number Printable removes the need for my contest or I can explain to you why it is necessary) – fejfo – 9 years ago
Where on Earth do you get the idea that BF is prohibited in the earlier question? – Peter Taylor – 9 years ago
1@Peter Taylor "You can use any language in which digits are valid characters (so that not using them is a real restriction);" – fejfo – 9 years ago
@PeterTaylor And with only a 100 bytes brainfuck is completely useless compared to other languages. – fejfo – 9 years ago
Since the restrictions in the previous challenge don't apply to BF, I can see why this might be seen as a duplicate, since it appears all the answers here could be posted there. However, since you pointed out that languages without numbers are explicitly forbidden in that challenge, it seems that either that restriction should be removed or this challenge should be reopened. I'm not sure which makes more sense. – trichoplax – 9 years ago
@trichoplax I think reopening this one makes more sense because the other one has a a limit of 100 bytes which would have to be raised which would make all the answer that were already given useless. (And brainfuck is useless against higher level languages) – fejfo – 9 years ago
1@trichoplax, removing the restriction makes more sense. Firstly, because it's so badly worded that I thought it was intended to say "This question doesn't ban languages which can use digits" rather than "This question bans languages which don't use digits". Secondly, because having one question for hundreds of languages which use digits and then one question per language which doesn't is a crazy asymmetry, and having two questions splitting on uses/doesn't would also be bizarre. – Peter Taylor – 9 years ago
1Discussion on meta – Peter Taylor – 9 years ago