This "sandbox" is a place where Code Golf users can get feedback on prospective challenges they wish to post to main. This is useful because writing a clear and fully specified challenge on your first try can be difficult, and there is a much better chance of your challenge being well received if you post it in the sandbox first.

Sandbox FAQ


To post to the sandbox, scroll to the bottom of this page and click "Answer This Question". Click "OK" when it asks if you really want to add another answer.

Write your challenge just as you would when actually posting it, though you can optionally add a title at the top. You may also add some notes about specific things you would like to clarify before posting it. Other users will help you improve your challenge by rating and discussing it.

When you think your challenge is ready for the public, go ahead and post it, and replace the post here with a link to the challenge and delete the sandbox post.


The purpose of the sandbox is to give and receive feedback on posts. If you want to, feel free to give feedback to any posts you see here. Important things to comment about can include:

  • Parts of the challenge you found unclear
  • Comments addressing specific points mentioned in the proposal
  • Problems that could make the challenge uninteresting or unfit for the site

You don't need any qualifications to review sandbox posts. The target audience of most of these challenges is code golfers like you, so anything you find unclear will probably be unclear to others.

If you think one of your posts needs more feedback, but it's been ignored, you can ask for feedback in The Nineteenth Byte. It's not only allowed, but highly recommended!

It is recommended to leave your posts in the sandbox for at least several days, and until it receives upvotes and any feedback has been addressed.


Search the sandbox / Browse your pending proposals

The sandbox works best if you sort posts by active.

To add an inline tag to a proposal use shortcut link syntax with a prefix: [tag:king-of-the-hill]. To search for posts with a certain tag, include the name in quotes: "king-of-the-hill".

Get the Sandbox Viewer to view the sandbox more easily!


3611 Answers 3611


Writing a WebCrawler


Design a web crawler that recursively extracts all the hyperlinks from the HTML of the web page and does the same for every hyperlinked page it finds. The webcrawler must store the hyperlinks in a separate file

How The WebCrawler Works

First the webcrawler should download the HTML file of the URL the user inputted.

Second the webcrawler will copy every single hyperlink embedded in the hyperlink and paste it into an output text file. The best general way to do this based on my experience is to have the webcrawler iteratively search through the HTML file for an "a href" tag. Be careful about what kind of hyperlinks are embedded in those tags. Sometimes only the subdomain directories of a complete hyperlink are embedded in this

For example: https://en.wikipedia.org/wiki/Toyota may simply have an a href tag in the HTML file of a webpage as: "/wiki/Toyota"

After extracting all the hyperlinks of the first webpage, visit all the hyperlinks found on the base webpage starting from the the first hyperlink found and repeat all the steps above. The only exception to doing this is obviously if the hyperlink fails to lead to an HTML page.


The program must accept only one URL as input.


A text file that lists every hyperlink that it finds. Note:

Your webcrawler must avoid revisiting webpages it has already crawled. This can cause the crawler get trapped in a "circular link loop" where it continously visits the same pages endlessly.


Special consideration will be given to submissions that prove they are capable of crawling deep web websites, including those with the .onion sites.


Create a "Transpiler"

for the purpose of this challenge, a transpiler is any program that takes valid source code from one language as input and produces a program valid in another language that performs the same actions. Calling the original languages interpreter is not banned.

Posts should start with "SRCLANG to DSTLANG in LANG; X bytes" as a heading.

Here's an example post:

Shell to Ruby in Ruby; 41 bytes

puts'`bash #{Data}`

Here we use the somewhat obscure Data constant to embed arbitrary data in the program. this has the advantage of never having to escape anything.

Each "triple" of source, destination, and working language represents its own category, as this challenge varies greatly in difficulty depending on the languages used.

  • \$\begingroup\$ What is the winning criterion? Are there requirements for the languages used? \$\endgroup\$ Nov 6 '20 at 23:09
  • \$\begingroup\$ @RedwolfPrograms lowest byte count, as usual. I guess no strict subsets as well, so you can't say cat is a sh to bash transpiler \$\endgroup\$
    – binarycat
    Nov 6 '20 at 23:24
  • \$\begingroup\$ How would this be consistently graded? I don't get how this is fair to all answers. \$\endgroup\$
    – Razetime
    Nov 7 '20 at 3:35
  • \$\begingroup\$ Is g++ a C++ to x86 assembly transpiler? "this challenge varies greatly in difficulty depending on the languages used" I'd say it varies in difficulty way too much. \$\endgroup\$ Nov 7 '20 at 7:08
  • \$\begingroup\$ @thedefault. Yes, but it's far from trivial. As for variation, like I said, each "triple" of languages forms it's own category. If it's necessary to have 1 winner, I guess it could be popularity-contest. \$\endgroup\$
    – binarycat
    Nov 8 '20 at 21:35

I have the following code. Help me make it code shorter.

new Promise(r=>r(URL.createObjectURL(new Blob(['<h1>Example</h1>'],{type:'text/html'})))).then(u=>open(u)&&setTimeout(t=>URL.revokeObjectURL(u),2e3))

The Catch:

  • This has to be in JavaScript
  • It cannot contain semicolons
  • It must be a "one-liner"
  • It must have the same steps as the code above:
    1. Create a blob URL from a blob
    2. Open a browser window of the blob URL
    3. Revoke the blob URL


  • The winner will be decided by the shortest amount of bytes
  • If you try this in another language, you will still get an upvote

Most digits of Pi in a hundred bytes

  • 4
    \$\begingroup\$ It's likely possible to output infinitely many. \$\endgroup\$ Jan 19 '21 at 3:09
  • \$\begingroup\$ @thedefault. how? \$\endgroup\$
    – someone
    Jan 20 '21 at 0:46
  • 2
    \$\begingroup\$ By using one of the many known formulas for pi. And if you do not use a formula for pi, you're compressing random digits (it's possible to store around 240 digits like this). codegolf.stackexchange.com/q/47808 has multiple answers below 100 bytes. \$\endgroup\$ Jan 20 '21 at 1:52

Reinvent math

The task is simple. Define the basic operators (+, -, *, /) without using them directly.

Also banned:

  • any add-assign (+=) and its equivalents
  • basically anything intended to be used as a basic arithmetic operation

Program should consist of at least 4 binary functions, one for each operation. they may call other functions defined in your program, including each other. The types of the arguments to the function may be any types that the basic arithmetic operators work on, except for types that are less than 3 bits in size.

Shortest code wins

  • \$\begingroup\$ Thank you for using the sandbox. Have you considered stating the required argument domain? And how should one answer? Using for functions/programs with the total length being the score? Can the four share code? \$\endgroup\$
    – Adám
    Feb 8 '21 at 19:35
  • \$\begingroup\$ Also, what does "using them directly" mean? Does that mean we can't use those four symbols or their equivalents in whatever language we use? And do we implement them for integers or floating-point numbers? \$\endgroup\$
    – user
    Feb 8 '21 at 19:43
  • 1
    \$\begingroup\$ If our language allows e.g. using _plus_ instead of +, is that allowed? \$\endgroup\$
    – Adám
    Feb 8 '21 at 19:45
  • \$\begingroup\$ @user I feel like it it's fairly clear what "using them directly" means. I can't really think of an alternative interpretation. Any numeric type which the basic operators work on will do. For most c-derived languages, this will be floats and ints. \$\endgroup\$
    – binarycat
    Feb 8 '21 at 19:54
  • \$\begingroup\$ @binarycat It's not clear to me - I can't tell if you're talking about those four specific symbols or the equivalent operators in the answer's language (if there is an equivalent operator). Also, could you add to the draft that any numeric type will do? \$\endgroup\$
    – user
    Feb 8 '21 at 19:57
  • 1
    \$\begingroup\$ Are we allowed to use the basic operators in each others' definitions, e.g. plus(x,y)=x--y? \$\endgroup\$
    – Adám
    Feb 8 '21 at 20:15
  • \$\begingroup\$ @Adám Ideally, the operator will behave the same as the builtin, but if that's not possible due to restrictions in the language, that's ok. Also, no _plus_ wouln't be allowed. That is still using the basic operator of addition. \$\endgroup\$
    – binarycat
    Feb 8 '21 at 20:19
  • \$\begingroup\$ @binarycat OK, that's useful information (i.e. it should be included in the challenge specification). \$\endgroup\$
    – Adám
    Feb 8 '21 at 20:29
  • \$\begingroup\$ Are we allowed to use the corresponding operations in a different language than the one we're answering in, i.e. to call out? \$\endgroup\$
    – Adám
    Feb 8 '21 at 20:31
  • \$\begingroup\$ Pro-tip: I note that you have never posted any challenges. restricted-source challenges are notoriously difficult to get right. I'm not saying this is a bad challenge, not at all, but I highly recommend posting a few well-received standard code-golf challenges before attempting a restricted-source one. \$\endgroup\$
    – Adám
    Feb 8 '21 at 20:33
  • \$\begingroup\$ @Adám the post has been updated to reflect the fact that the answer is no \$\endgroup\$
    – binarycat
    Feb 8 '21 at 20:34
  • \$\begingroup\$ @Adám It's really not restricted source, just the "no using a builtin that does exactly what the challange says" loophole. \$\endgroup\$
    – binarycat
    Feb 8 '21 at 20:36
  • 5
    \$\begingroup\$ This is a textbook example of a "do X without Y" challenge and simply isn't considered interesting on this site. \$\endgroup\$
    – Beefster
    Feb 8 '21 at 20:48
  • 2
    \$\begingroup\$ @binarycat You seem very convinced that this isn't do-X-without-Y. I'd be very interested in hearing why you think so, especially considering that your text literally says "Define [=do] the basic operators (+, -, *, /) [=X] without using them directly [=Y]." \$\endgroup\$
    – Adám
    Feb 8 '21 at 21:47
  • 1
    \$\begingroup\$ Essentially a duplicate of Add without addition, as the same techniques can be used to define all four operators. \$\endgroup\$
    – Bubbler
    Feb 8 '21 at 22:54

Google search

Challenge is very simple, you have to get a string as input and then launch the default web browser, and search for that string in Google.

Input string will have only characters a-zA-Z

Google search URL is google.com/search?q=querystring

Standard loopholes apply, Internet connection allowed, but only to google.com domain

Tags: ,

Author note: challenge title sucks, please improve it!

  • 1
    \$\begingroup\$ I suspect on many (older) systems the notion of a default browser does not exist. In addition, I think there are many other escape characters. Of course, you could allow the answers to fail - but without the encoding requirements this is probably a dupe of some old basic internet challenge. \$\endgroup\$ Feb 20 '21 at 18:08
  • 1
    \$\begingroup\$ Also, %20 is not the right escape sequence for a + \$\endgroup\$
    – pxeger
    Feb 20 '21 at 19:00
  • \$\begingroup\$ @FryAmTheEggman The first one is not really an issue, if the programming language doesn't have the thing then it can't have an answer. \$\endgroup\$
    Feb 24 '21 at 3:55
  • \$\begingroup\$ For the challenge: it's best to specify which characters might appear in the input. \$\endgroup\$
    Feb 24 '21 at 3:56
  • \$\begingroup\$ @FryAmTheEggman,user202729 edited, now input will only have a-zA-Z \$\endgroup\$
    – wasif
    Feb 24 '21 at 17:30
  • \$\begingroup\$ Most languages can't launch a browser. Also, there are dozens like this already, \$\endgroup\$
    – emanresu A
    Feb 25 '21 at 4:04
  • \$\begingroup\$ Sorry, I missed your edit earlier. I think if you want to go ahead with this you need to define what the "default browser" is, and what to do if it isn't present. Depending on how you define it, this may not be a dupe, but I imagine you will have some trouble with different systems defining it differently. \$\endgroup\$ Mar 3 '21 at 19:03

Reverse error quine


Based on this

Write a quine that prints it own source code in reverse, but to STDERR.


  • +200 using other files I.E. reverse.txt
  • +150 internet usage
  • +100 reading own source code


  • Minimum length of source is 2 bytes

  • Standard loopholes apply

, shortest code wins

  • 3
    \$\begingroup\$ As a reverse error quine, it will probably just be basically the same as a plain error quine, but with the creative solutions using syntax errors not valid. The things with penalties should probablly just be disallowed or someone will just do sh, 6 bytes + 20 penalty, tac $0. You can also add [tag:quine] \$\endgroup\$ Feb 24 '21 at 17:45
  • 4
    \$\begingroup\$ But thanks for using the sandbox! \$\endgroup\$ Feb 24 '21 at 17:46
  • \$\begingroup\$ Why the rule No palindromes? Aside from Stack Cats, there are pretty much no languages that print a palindromic error. \$\endgroup\$
    – emanresu A
    Feb 25 '21 at 4:07
  • \$\begingroup\$ Changed the rules: 1) Increased penalty (None will not now dare to read own source code) 2) Palindromes allowed 3) Added the tag quine \$\endgroup\$
    – user101036
    Feb 25 '21 at 7:45
  • \$\begingroup\$ Penalty in code golf is discouraged by itself, just like bonuses. Accessing the internet/other files/the source file itself to get the desired output is already considered a standard loophole, so you should just say they're not allowed, and remove the penalties altogether. \$\endgroup\$
    – Bubbler
    Feb 25 '21 at 8:06
  • \$\begingroup\$ Also, another thing to avoid: using old challenges as a model. \$\endgroup\$
    – Bubbler
    Feb 25 '21 at 8:11

“Simple” Programming Homework

Your friend has been caught sleeping in class again! As punishment, his computer science teacher has assigned him homework, knowing that he will not be able to solve it due to not having paid any attention.

The assignment seems deceiving simple at first; all that is required is to output the string:

John Doe

Unfortunately, the teacher is intent on making the simple assignment much more difficult. Since your friend was not listening when the teacher explained the concept of strings and numbers, the teacher forbids him from using any number character (0-9) or the quotes (", ', `).

Can you help your friend solve this problem with the shortest code possible, and save his computer science grade in the process?

Try to find the shortest code in each language!

Note: it is encouraged to try to solve this problem in languages where string/character literals exist but cannot be used due to the restrictions (most mainstream languages are like this, e.g. C++).

  • \$\begingroup\$ Better leaving it here for a while (and ask in chat often) to see if people mostly agree that what "literal" means is obvious. (see, bash have echo John Doe and BF has +++something+++., and most languages doesn't have a formal specification to define English names for the components of the language) \$\endgroup\$
    Feb 27 '21 at 12:18
  • \$\begingroup\$ Other than that (huge) point it is clear enough. [please review other sandbox posts] \$\endgroup\$
    Feb 27 '21 at 12:19
  • \$\begingroup\$ @user202729 Ask which chat? \$\endgroup\$
    – user101295
    Feb 27 '21 at 22:14
  • \$\begingroup\$ @user202729 I thought this would be interesting for most languages that do use quotes for string and character literals like C, but I do see how it might be too easy in some languages. \$\endgroup\$
    – user101295
    Feb 27 '21 at 22:54
  • 1
    \$\begingroup\$ chat.stackexchange.com/rooms/240/the-nineteenth-byte \$\endgroup\$
    Feb 28 '21 at 6:13

Geometry Dash Clone in a weird Way?

Try to make a functional clone of Geometry Dash in the shortest time.

How GD Works.

  • You have a cube. In the clone, it can be as small as you want, but no bigger than 2x2.
  • You have to jump over spikes. The key to do this is (preferably) the up arrow key, but can be any option you want (simply tell me in your answer what key is it.
  • If you touch the spikes, the screen says "Game Over." and exits in 3 seconds.
  • There are blocks! You can jump on them, but touching them from the left side results in the same thing that happens if you touch the spikes.
  • A song plays in the background. How you do this is up to you.


  1. 3 Extra points for working forwards and backwards.
  2. Must have the letter a 5-7 times and no q at all!
  3. Allows ascii art type output and text input (standard input)!

Sandbox Questions

How is this even going to work?

  • \$\begingroup\$ Welcome to codegolf! I don’t really recommand to compare how fast submit time after question release, since there maybe someone out there already holding an answer, and it also really timezone dependent. \$\endgroup\$
    – okie
    Dec 2 '21 at 5:41
  • \$\begingroup\$ But it could be one of the code-golf problem, and allowing ascii art type output and text input (standard input) could allow more language to compete. \$\endgroup\$
    – okie
    Dec 2 '21 at 5:42
  • \$\begingroup\$ also the flawless limit is kinda weird, extra point for certain language is not suggested, if you still want to give extra point, you may want to say how much extra point is. \$\endgroup\$
    – okie
    Dec 2 '21 at 5:48

Find the square of a number without using the multiplication sign or division sign

e.g. "/" "//" "*" "**" are not allowed

no imports are allowed either

An integer will be given in the input

Test cases:

5 -> 25

6 -> 36

10 -> 10

724 -> 524176

New contributor
DialFrost is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • \$\begingroup\$ Can you add test cases and information? \$\endgroup\$
    – Fmbalbuena
    Jan 10 at 10:07
  • \$\begingroup\$ added accordingly fmbalbuena \$\endgroup\$
    – DialFrost
    Jan 10 at 10:10
  • \$\begingroup\$ Are we allowed to use * if it doesn't mean multiplication? \$\endgroup\$
    – Adám
    Jan 10 at 10:25
  • \$\begingroup\$ If our language has "square" as a built-in, can we use it? \$\endgroup\$
    – Adám
    Jan 10 at 10:32
  • \$\begingroup\$ that's interesting code challange, but i think it's easily bypassed by some esolang like vyxal that is using ² as square, you can try disabling square or multiply function, so that people don't just simply use other symbol to complete the task \$\endgroup\$
    – okie
    Jan 10 at 23:45
  • \$\begingroup\$ May I use character if it is the operator or keyword for multiplication in my language? \$\endgroup\$
    – tsh
    Jan 11 at 6:53

Output the number of lines of your code

Your task is to write a program that counts the number of its lines of code and outputs them.


  • The number mustn't be hardcoded into the program, nor in any other external resource;

  • Internet access is forbidden;

  • Your program's output must be the number of lines only;

  • Your program should not use any tool, macro, function, or similar device designed with the specific purpose of counting lines.

  • 2
    \$\begingroup\$ I don't see much of a challenge here. wc -l $0? \$\endgroup\$
    – ugoren
    Feb 23 '14 at 17:15
  • 1
    \$\begingroup\$ It can be a nice question, but needs some work. Just add something like "it should not use any tool, macro, function, or similar device designed with the specific purpose of counting lines". \$\endgroup\$ Feb 24 '14 at 2:10
  • \$\begingroup\$ @Victor Nice point, added. Thank you :) \$\endgroup\$
    – Vereos
    Feb 24 '14 at 10:10
  • 4
    \$\begingroup\$ As long as you can read the program file, it's no challenge. E.g. print len(l for l in sys.argv[0]). But if you forbid reading the source, and forbid hard-coding the length, what's left? \$\endgroup\$
    – ugoren
    Feb 24 '14 at 14:00
  • \$\begingroup\$ @ugoren I don't see where it says it can't read its source. \$\endgroup\$
    – user10766
    Feb 27 '14 at 22:13
  • 1
    \$\begingroup\$ @user2509848, It doesn't. This is why the question is easy and uninteresting. \$\endgroup\$
    – ugoren
    Feb 28 '14 at 5:56
  • \$\begingroup\$ @ugoren If you can't though, how will you tell, hardcode it? \$\endgroup\$
    – user10766
    Feb 28 '14 at 5:57
  • 1
    \$\begingroup\$ @user2509848, Either way, not a good question. \$\endgroup\$
    – ugoren
    Feb 28 '14 at 6:25
  • 2
    \$\begingroup\$ This is one byte in any golfing language with implicit output: 1 \$\endgroup\$
    – Nic
    May 9 '16 at 20:11

Here is my first attempt at a cops and robbers post (which is why I'm using the sandbox).

Cops - Golfed recursion

You must select a language that satisfies the following criteria:

  • Functions - It must be possible to create a function with any number of integer input values and a single integer output (or return) value. The function may also be a complete program in itself. (Your language may not call it a function, but that is ok)
  • Arithmetic operations - The integer operations +-*/% should all be possible, either in a simple or a complicated manner.
  • Data - You should be able to store one-byte or two-byte long integers (either signed or unsigned will do). You may do this also in an indirect manner.
  • Iteration - You must be able to create a loop that will keep running until a condition is satisfied. Therefore < > = <= >= ! & | should also be supported, either directly or indirectly.
  • Recursion - You should be able to call a function from within the function itself with a set of input values calculated by the main function.
  • Declaration - You should be able to declare new integer variables as needed from within the function.


You need to create a recursive function. Code will be scored by the number of characters in it, the shorter the better. A solved code cannot win the challenge. A post with less than 5 up-votes cannot win the challenge. There will be no overall winner, but a separate winner for each language.

Robbers - Golfed recursion

Your objective is to pick up a cop's post, and write a function in the same language but it should not use any recursion (can use iteration). The function may create any number of variables, loops, etc. but should be able to achieve the exact same end result (atleast, in theory) as the cop's one.

Your score will be the same as the cop's post's score at the time it was solved. His/her post is now invalid, and you get his/her score

  • 2
    \$\begingroup\$ I don't understand how a cop can write an answer that isn't going to be cracked, unless the language of choice can only loop via recursion (which I think you're trying to rule out by requiring that "iteration" must be possible). Also, requiring 5 votes to be a winner is only encouraging tactical voting. Answers that are actually invalid will likely get downvoted and deleted anyway. \$\endgroup\$ Feb 10 '16 at 12:36
  • \$\begingroup\$ @MartinBüttner Maybe in some languages it is possible by exploiting both closure and recursion, but I mainly agree with your point: recursion and iteration are two ways to do the same thing. \$\endgroup\$
    – Katenkyo
    Feb 10 '16 at 12:41

Your task is to create a program that outputs a random pizza recipe following this one rule:

No random number choosers, you may have random text choosers. All standard code-golf rules apply. A sample output:

A simple PEPPARONI pizza sprinkled with fish and sausages. Your program must have the following items:

  • Anchovies
  • Fish
  • An adjective for the pizza

The program written with the shortest code wins.


The winner shall be picked on April 3rd, 12AM on the time zone GMT+3.

  • \$\begingroup\$ I already had an answer to the question, albeit non-competing: Python3 print("Have a plain MARGHERITA without any",["fish.","anchovies."][len(input("What's your favourite pizza? "))%2]) \$\endgroup\$
    – mIllIbyte
    Mar 31 '16 at 12:41
  • 5
    \$\begingroup\$ Uh, this has a lot of problems with clarity. First, all "random text choosers" are implemented with "random number choosers" which makes this restriction feel a bit bizarre. Second, what counts as an adjective for pizza? And since this is code golf, people will always pick the shortest available. And third, what should an output look like? It's not clear from the spec. Also, sort of unrelated, but usually putting a time limit is unnecessary, even extremely popular challenges stop getting responses with any frequency after a month or so. \$\endgroup\$ Mar 31 '16 at 12:59
  • \$\begingroup\$ Did you misspell it on purpose? \$\endgroup\$ Mar 31 '16 at 13:55

What about one question on numeric solve?

Write one function that gets as one argument one function f(x), and one interval a..b and return the list of all element v such f(v)=0 in the interval a..b. In the interval a..b the f must be definite and can not be f(r) = +oo for r in a..b.

Win the one write the function with biggest set of right results. If two have the same set, win the one has less characters. You can not use solve() or nsolve() or fsolve() or one already written function that your sys offer that finds numerical x in f(x)=0

  • 2
    \$\begingroup\$ Finding all zeros of an arbitrary function is impossible unless the domain is restricted. \$\endgroup\$
    – user45941
    Nov 29 '16 at 8:59
  • \$\begingroup\$ Ok you are right \$\endgroup\$
    – user58988
    Nov 30 '16 at 10:04
  • 3
    \$\begingroup\$ The edit doesn't do anything to fix the problem. \$\endgroup\$ Nov 30 '16 at 14:48
  • 3
    \$\begingroup\$ The bigger problem is that this post is incomprehensible. \$\endgroup\$
    – user45941
    Dec 2 '16 at 8:54

Beep. Boop. Maggot?

  1. Read input from STDIN until enter is pressed.
  2. If the input is "Beep", continue.
  3. Otherwise, print "Wrong!" and exit.
  4. Repeat steps one to three with "Boop" instead.
  5. Execute step one.
  6. If the input is "Maggot", output "Done".
    • Otherwise, output "Wrong.".

Remove punctuation (?.!'"), ignore capitalization (a-zA-Z only), and strip whitespace (\t and )

Notes: You must print the text word-for-word, character-for-character. Step 3 is Wrong!, while Step 6 is Wrong.


  • Notice how boop is just beep with the o's turned into e's.
  • There is lots of repetition here, but with many caveats.
  • \$\begingroup\$ Technically speaking, step 4 should repeat steps 1-3, shouldn't it? Anyway, apart from that, I don't see anything technically wrong with the challenge, but I'm not sure it's a very good challenge. \$\endgroup\$
    – user62131
    Jan 1 '17 at 0:07

Score Your Language

I believe that each language has a score. The way you find the score of a language is shown in the ungolfed Python program below

def scorer(lang):

    num = 0

    for i in str(lang):
        num += ord(i)

    return num

Basically the score is the total of the unicode values of the language name.

Now this seemed like a fairly trivial challange, so I thought I'd make it a bit more difficult. You aren't allowed to use your language name (case-sensitive) in the code. So this code in C++ would be invalid as I've used C++ in the code.

#include <iostream>

int main() {

    int total = 0;
    std::string s("C++");

    for (char & c : s) {
        total = total + (int)c;
        c = '*';

    std::cout << total;


Although this does output the required number (153) it is still invalid.


  • You aren't allowed to use the language name but are allowed to use it in a different case. E.g. Java isn't allowed but java is.
  • This is a code-golf so shortest answer in bytes wins
  • You are allowed to use hex/octal codes in strings e.g \150 can be used instead of h
  • Your program must take no input or function arguments
  • You cannot simply output the score. Theoretically the program should work for any language name when changed.
  • Languages where the only valid syntax is the name, such as Chicken are allowed to use said name.
  • Version shouldn't be included so Python is always Python not Python 2 or 3
  • The score is the value of the case-sensitive name

Correct Scores

Language              Score

ArnoldC                675
brainfuck              949
C                       67
C++                    153
Java                   386
Lua                    290
Mornington Crescent   1922
Python                 642
TrumpScript           1165
Vim                    300

Sandbox Questions

1) Why has this been downvoted?

2) I am thinking about putting a reputation limitation so that bosses like Dennis and Martin Büttner can't take answers from people who aren't as accomplished. Is this unfair? Should I not?

3) Is this a duplicate? I couldn't believe it wasn't already taken.

  • 4
    \$\begingroup\$ Terms like "you cannot use your language name" and "it must be calculated by the program" are not only unclear but will likely not be able to be made rigorous. \$\endgroup\$
    – Wheat Wizard Mod
    Feb 5 '17 at 14:58
  • \$\begingroup\$ Are you suggesting that I remove those rules? \$\endgroup\$
    – user63571
    Feb 5 '17 at 15:00
  • \$\begingroup\$ I don't think that the challenge is very interesting without the rules, but I don't think it is clear with them. I would suggest reworking the rules in some manner but exactly how I do not know. \$\endgroup\$
    – Wheat Wizard Mod
    Feb 5 '17 at 15:01
  • \$\begingroup\$ 1. I would guess that it's mainly because it fails some of the tests in Things to avoid when writing challenges (X without Y, asking for different things in different languages, unnecessary fluff, explicitly disadvantaging certain languages, arguably one or two more), although it might also in part be because some people oppose trivial "challenges", and in part because the problems WW mentioned can't be fixed. 2. Very bad idea. 3. It's a multi-dupe: it combines two trivial tasks, each of which independently would clearly be a duplicate. \$\endgroup\$ Feb 6 '17 at 9:15

Popularly print the input


Write a program or function in a language of your choice that takes input and outputs that exact input.


  • Your program/function should output the exact input in any reasonable way.
  • Your program does not have to end after printing the input. It may end up in an infinite loop if you wish, as long as that loop doesn't output any extraneous characters.


The winning answer will be the one that has the highest score. Voters should look for answers that use an unique way to print the input, have a special source code or use neat language features.

  • \$\begingroup\$ Plain "do X in a creative way" popularity contests have fallen out of favour and will likely immediately get closed as being too broad or not having an objective winning criterion. \$\endgroup\$ Apr 4 '17 at 18:33
  • \$\begingroup\$ @MartinEnder: Yeah, I noticed. How do you think I should change the challenge so that it won't be closed? \$\endgroup\$
    – Luke
    Apr 4 '17 at 18:35
  • 1
    \$\begingroup\$ Can't really help you there. If I knew of a good way to make popularity contests work, I'd write some myself. ;) \$\endgroup\$ Apr 4 '17 at 18:39
  • \$\begingroup\$ Probably a duplicate of codegolf.stackexchange.com/q/62230/34718 \$\endgroup\$
    – mbomb007
    Apr 4 '17 at 18:43
  • \$\begingroup\$ @mbomb007: No, this is not a code-golf challenge. \$\endgroup\$
    – Luke
    Apr 4 '17 at 18:54
  • \$\begingroup\$ But there's nothing separating the answers this might receive. Please read this: codegolf.stackexchange.com/tags/popularity-contest/info \$\endgroup\$
    – mbomb007
    Apr 4 '17 at 18:57

Make a Login Screen

Challenge: make code that asks the user to enter a username and password. The username and password should be hard coded, but they must not be visible: you cannot have the entire username or the entire password in plain text in the code. Both the username and the password must be 8 characters long. Upon the incorrect username or password, some error should be displayed. It would be good if there are multiple "accounts" that would display different text on login. The password field should not be visible (Only asterisks or something).

This is Code-Golf, Shortest answer wins.

Standard loopholes are forbidden.

  • \$\begingroup\$ you can't say that answer doing something "would be good" if the shortest answer wins \$\endgroup\$ Apr 18 '17 at 7:05
  • \$\begingroup\$ underhanded challenges are off-topic. \$\endgroup\$ Apr 18 '17 at 8:36
  • \$\begingroup\$ It's not underhanded. \$\endgroup\$ Apr 18 '17 at 14:15
  • \$\begingroup\$ I'm sure this might be a dupe of an obfuscation challenge \$\endgroup\$
    – Beta Decay
    Apr 18 '17 at 23:36

Of numbers of letters

there is something special the number 4. When spelled in English the word 'four' uses exactly 4 letters. I wonder whether there are further such numbers Your task is to identify whether there exist further such numbers and output them in any human readable format. To make this more of a challenge you can do the task in any regional Language of your choice (Say Russian or Portuguese or Spanish or Mandarin or Hindi etc.).

The Best entry will be selected by the most number of such numbers regardless of language used

Best of Luck


No strings code bowling

I created this challenege idea with @redwolfprograms. In the challenge, you would create the longest program possible (code-bowling) it can do anything, but it cannot:

  • Contain any strings, or quotation marks/apostrophes/backticks
  • Contain the same alphanumeric byte more than twice
  • Conatin the same non alphanumeric byte more than three times
  • 2
    \$\begingroup\$ What is the task we have to solve? Is it really alphanumeric character but non alphanumeric byte? \$\endgroup\$
    – Dennis
    Apr 17 '18 at 13:50
  • \$\begingroup\$ Why do you mix characters and bytes? \$\endgroup\$
    Apr 17 '18 at 14:01
  • \$\begingroup\$ I feel like there are a lot of languages that would score the maximum (768) by not (strictly speaking) having alphanumeric characters, and then just wrapping everything in a string: "[3x each other byte value]"". \$\endgroup\$ Apr 17 '18 at 14:08
  • \$\begingroup\$ I think you got bytes and characters mixed up. Both should be bytes, and make sure you specify the program can do anything. \$\endgroup\$ Apr 17 '18 at 14:26
  • \$\begingroup\$ People, the point of the sandbox is to add suggestions. This question has been downvoted several times. Why? \$\endgroup\$ Apr 17 '18 at 22:39
  • 4
    \$\begingroup\$ @RedwolfPrograms downvotes are a way for people to say that this challenge in the current state shouldn't be posted to main. If the challenge gets changed enough to make it viable and interesting the downvotes will be reverted (or upvotes from other people will outweigh them). \$\endgroup\$
    – Leo
    Apr 18 '18 at 1:32
  • \$\begingroup\$ Maybe this challenge should have a "No strings" rule? \$\endgroup\$ Apr 18 '18 at 1:59
  • \$\begingroup\$ Not being able to use e is not really that much of a big deal. Even in C you can get around it easily. (It would prevent you from returning values from functions, but you could just use pass by reference instead.) So that restriction wouldn't really add much to the challenge. \$\endgroup\$
    – N. Virgo
    Apr 18 '18 at 8:35
  • \$\begingroup\$ Now that strings are forbidden, one could just create a huge variable whose name is all the alphanumeric characters twice. This is the bane of any longes code that... challenge. Consider adding some more interesting restrictions. \$\endgroup\$ Apr 18 '18 at 14:35

[Posted, but reference kept]

Given a function with boolean inputs a1, ..., an and a boolean output, output an array of numbers 0 to n satisfying:

For each item in the truth value, if (from the array you output, we repeatedly remove two adjacent numbers x and y satisfying that, for each integer n between x+0.5 and y+0.5, an=1), we can get an empty result array iff the given function's output is 1. You can assume the result exist.

Sample input:

a[1] a[2] result
0    0    0
0    1    0
1    0    0
1    1    1

Sample output: 0 2

Sample input:

a[1] a[2] result
0    0    0
0    1    1
1    0    1
1    1    1

Sample output: 0 1 2 0 1 2

Sample input:

a[1] a[2] result
0    0    1
0    1    1
1    0    1
1    1    1

Sample output: (empty)

shortest code win, but optimizing running time and result length is encouraged(I won't accept but I may upvote)

You may check your answer here

  • 1
    \$\begingroup\$ The spec makes absolutely no sense to me. What does it mean to remove a number from a truth table? \$\endgroup\$ Apr 25 '18 at 12:13
  • 2
    \$\begingroup\$ Still makes no sense. Maybe if you give a detailed worked example I would be able to reverse engineer the spec and propose some changes to the wording. \$\endgroup\$ Apr 25 '18 at 14:59

Write a function that takes compares each pair of adjacent items and swaps them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted.

Static visualization of bubble sort and a gif explanation.

Bubble sort explanation Bubble sort gif

The steps go from left to right. At each stage, an exchange is made. The darkest color has the most value and finds its final place (bottom) first.

The rules

  • The function must take a list of integers that shall be sorted (less than 20 elements)

  • The function must print each step of the sort.

  • Yes, built-in Bubble sort algorithms are permitted.

  • No, you can not assume only positive integers or unique integers.

  • It's so the shortest code wins!

Test cases

input list
5 4 3 1 2
1 2 3 5 4
11 4 2 1 5


Add an interpreter so the submission can be tested. It is allowed to write this interpreter yourself for a previously unimplemented language.


It's my first code-golf idea I'm fully open to improving it with more experienced users if I missed something.

This is not a duplicate of Bubble sorting in progress.

Thanks to @Erik the Outgolfer for encouraging me to post my idea in the sandbox.

  • 3
    \$\begingroup\$ Can you add one walked-through example? I.e. show each pass. \$\endgroup\$
    – Adám
    Jun 20 '18 at 13:04
  • \$\begingroup\$ You note it isn't a duplicate of the in-progress bubble sort, but what distinguishes it from Golf me a bubble sort, which was closed as a dupe of that? \$\endgroup\$
    – Geobits
    Jun 20 '18 at 13:10
  • \$\begingroup\$ @Geobits This was not a dup but unclear. \$\endgroup\$
    – DIDIx13
    Jun 20 '18 at 13:12
  • \$\begingroup\$ Here's my c# non-golfed solution : dotnetfiddle.net/ZFkl5y \$\endgroup\$
    – DIDIx13
    Jun 20 '18 at 14:01
  • 7
    \$\begingroup\$ You claim it's not a duplicate of codegolf.stackexchange.com/q/92753 but you don't adduce any argument to support that claim, and I can't see any significant difference. (The upper limit is a trivial difference IMO). \$\endgroup\$ Jun 21 '18 at 6:14

Once, I thought of this. Rules:

1: You must make a fractal that looks like the specified thing.

2: One thing per round.

3: Algorithms are rated by two scores: Resemblance and Compactness. The one that gets the highest scores wins!

4: Only I can tell what thing must be made.

5: Only one entry per user. Do not plagiarize.

6: One may code in anything they wish.

7: Have fun!

Round 1: Squidward's head!

  • \$\begingroup\$ Erchh! OK OK Remove the PM stufs. didnt know \$\endgroup\$
    – Ikura
    Jul 31 '18 at 0:12
  • 2
    \$\begingroup\$ On this site, winning criteria has to be objectively defined. (by tradition, I have to admit... there is popularity-contest (read the tag info page for more details), but if you really want to make a pop-con, be careful) "Resemblance" is quite... subjective, unless you can define an objective formula. Also, what is a fractal exactly? \$\endgroup\$
    Jul 31 '18 at 4:05
  • \$\begingroup\$ For example, how many points would I score if I just made the initial fractal look like the image and have it spiral inwards? What is the objective formula of Compactness/Resemblance \$\endgroup\$
    – Jo King Mod
    Jul 31 '18 at 6:04
  • \$\begingroup\$ A fractal is a shape that recurses. It has copies of itself in it. Analyze the Mandelbrot set, you'll see mandelbrots in mandelbrots. What is a pop-con? Sounds like a soda convention. I'd love to go there! JK \$\endgroup\$
    – Ikura
    Jul 31 '18 at 14:32
  • 1
    \$\begingroup\$ @user202729, experts are unable to agree on the definition of a fractal. That aside, this looks more like a forum game than a good fit for this site. \$\endgroup\$ Jul 31 '18 at 14:46
  • \$\begingroup\$ Oh, popularity? No. No voting. I will work on my formula, with a new parameter: Mandelbrottiness, which is more or less Goldilocks. \$\endgroup\$
    – Ikura
    Jul 31 '18 at 14:54
  • \$\begingroup\$ I attempted doing this on Encyclopedia Spongebobia, then went here. \$\endgroup\$
    – Ikura
    Jul 31 '18 at 14:55
  • \$\begingroup\$ Then maybe a Stack Exchange for off-topic? \$\endgroup\$
    – Ikura
    Jul 31 '18 at 14:57
  • \$\begingroup\$ @Ikura There are no such SE site, because it would generate low-quality content. Try Quora or Reddit... \$\endgroup\$
    Jul 31 '18 at 15:15
  • \$\begingroup\$ Ergo! Goin' to the Kongregate Off-topic forum! \$\endgroup\$
    – Ikura
    Jul 31 '18 at 18:48

This question is a simplified description of the requirement described at Permutations to the nines

Given input integer (minimum) where the first digit is always 1 and the adjacent digits are increasing in value, e.g.,





with the ability to handle up to the integer


where the maximum integer is always the input integer in reverse order, e.g.,







Return a list (array) of each number between the input minimum and maximum integer which satisfies three conditions

  1. the resulting integer list item includes only the individual numbers comprising the input number
  2. the resulting integer list item does not contain any duplicate individual digits
  3. the resulting integer list item is greater than the preceding integer list item and not greater than a following integer in the list

Test cases

Valid list items

12 -> [21] // done

123 -> [132,213,231,213,312,321] // done

Invalid list items

12345 -> 12344 // contains duplicate digits in whole number

123456789 -> 13256789 // not the next integer by increasing numeric value order

123456789 -> 987654322 // greater than maximum integer and duplicate digits

Winning criteria

The algorithm which uses the least amount of operations to compute the complete resulting list of items.


123 -> 123+5+4=132 // two mathematical computations

123 -> 123+9=132 // one mathematical computation (winning criteria)

(@JoKing suggested fastest-algorithm tag; math and code-challenge tags are also applicable)

  • \$\begingroup\$ @PeterTaylor Pared down version of the original question. \$\endgroup\$ Oct 8 '18 at 18:30
  • \$\begingroup\$ Am not as yet well-versed in Big-O notation. If the phrase "the least amount of operations to compute the complete resulting list of items" can be translated into Big-O notation, kindly suggest and edit the language used in the question. We are not interested in code length (this is not a code-golf question), but rather, that the code produces the expected result in the fewest, or least amount of total computational operations. \$\endgroup\$ Oct 8 '18 at 18:35
  • \$\begingroup\$ Ok, so if I understand the challenge, you give me a number N. I need to generate a list of numbers between N and M, where M = reverse(N). Each number in the list cannot have duplicate digits, can only consist of digits in N, and must be in strictly increasing order. Is this correct? \$\endgroup\$ Oct 8 '18 at 18:52
  • \$\begingroup\$ Assuming my above comment is correct: 1. Why is 123456789 -> 13256789 invalid, as the maximum is 987654321, which is bigger than 13256789? 2. You need a list of all possible operations. 3. Use the word digit when referring to the individual parts of a number. \$\endgroup\$ Oct 8 '18 at 18:57
  • \$\begingroup\$ @NathanMerrill Yes. Originally included using only the number 9 within the prerequisite criteria, though that inclusion appears to be challenging in itself to explain how the single number 9 can be employed to derive all list items. You are correct about 123456789 -> 13256789 being invalid. Was attempting to include invalid examples and to indicate that 13256789 should not be the next integer in the list following 123456789; the list should be in order from least to greatest integers. Ok, will use the term digit. \$\endgroup\$ Oct 8 '18 at 18:57
  • \$\begingroup\$ Thinking about this more, there's a really simplified way to describe this: You want the all permutations of the digits of N in strictly increasing order. Permutation \$\endgroup\$ Oct 8 '18 at 19:09
  • \$\begingroup\$ @NathanMerrill Yes, that is one way to put it. From perspective here, we are trying to use a number - the indexes of the initial input as a whole number - to generate all lexicographic permutations by using only math and the initial number (the current number) to do so. No loops, swaps, recursion, etc. Which am able to achieve using the code at the linked question, though the approach used there adds 9 to the initial (current) number. The challenge is to reduce the mathematical operations necessary to achieve the result - is at all possible. \$\endgroup\$ Oct 8 '18 at 19:12
  • \$\begingroup\$ I think describing it that way will make this challenge much clearer. Also, to be a fastest-algorithm, you really need to list all possible operations. \$\endgroup\$ Oct 8 '18 at 19:13
  • \$\begingroup\$ @NathanMerrill "I think describing it that way will make this challenge much clearer." Well, did that exhaustively in the linked question - with links to OEIS and previous inquiries which lead to here PPCG for context - which was closed due to "unclear what you are asking" votes codegolf.stackexchange.com/q/173145/31257, codegolf.meta.stackexchange.com/questions/16959. Posted this version of the question as users appear to not gather the original, more detailed question. Is this question codegolf.meta.stackexchange.com/a/16961/31257 clear to you? \$\endgroup\$ Oct 8 '18 at 19:15
  • \$\begingroup\$ No. That question is much too long. I don't think it is the word "Permutation" killing you there, it's everything else. \$\endgroup\$ Oct 8 '18 at 19:21
  • \$\begingroup\$ @NathanMerrill Well, here we are back to square 1. "too long" is a subjective measurement, though have been advised that users actually do have some means to time the "read" of a question, which will more than likely never do, here. This question is the bare minimum, and yet you suggest including more details. Cannot glean every individual users' idea about what is "too long" or does not include enough details. Perhaps somewhere in the middle that am as yet unable to reach. If a user takes the time to read the original question without protesting the length thereof - the details are there. \$\endgroup\$ Oct 8 '18 at 19:25
  • \$\begingroup\$ @NathanMerrill What edits to the original question or this question do you suggest? \$\endgroup\$ Oct 8 '18 at 19:26
  • \$\begingroup\$ All of the close reasons are subjective: "Unclear" is subjective, "Off-topic" is subjective, etc. I can give a full analysis of the other post, but I'd rather focus on this one. My first suggestion is to get rid of most of the requirements in favor of all permutations of the digits of N in strictly increasing order. The second thing you need to do is define what "operation" means. \$\endgroup\$ Oct 8 '18 at 19:28
  • 1
    \$\begingroup\$ "The requirement is to add, subtract, divide, multiply, or use other mathematical procedure, the number 9 to the current number to generate the next number" is (a) not anywhere that I can see in the text of the requirements; and (b) an non-observable requirement, as described in the link I posted of things to avoid when asking questions. \$\endgroup\$ Oct 11 '18 at 7:16
  • 1
    \$\begingroup\$ A requirement is only observable if you can verify it given a black box implementation, so I don't see how any code snippet can demonstrate that it is observable unless it's a test framework which verifies it by black-box testing. \$\endgroup\$ Oct 11 '18 at 7:30

All numeric substrings

I like numbers. Really, really, like numbers. If you give me a string with numerals in it, I want to get all the numbers out of it that I can.


A string.


Every numeric substring, in any order, but only one of each. Numeric here means anything with Unicode General Category Nd (because I'm no xenophobe).


Any reasonable format. But languages that don't allow for multibyte-character I/O should use some numeric or other representation.

Test cases

(input → one ordering of the correct output)

  • 1212 → [1212, 121, 212, 12, 21, 1, 2]
  • 123٤٥6 ‪→ [1, 2, 3, ٤,‪ ٥, 6, 12, 23, 3٤,‪ ٤٥,‪ ٥6,‪ 123, 23٤,‪ 3٤٥,‪ ٤٥6,‪ 123٤,‪ 23٤٥,‪ 3٤٥6,‪ 123٤٥,‪ 23٤٥6,‪ 123٤٥6]‪
  • 12t45 → [1, 2, 4, 5, 12, 45]
  • abc → []
  • \$\begingroup\$ @JoKing, thanks, done. \$\endgroup\$
    – msh210
    Feb 27 '19 at 5:35
  • \$\begingroup\$ I am not convinced by this challenge. To me, it essentially boils down to filtering a unicode string on a character-by-character level, followed by generating all substrings of non-split substrings of the original string. Is ‪٥6 supposed to have any semantic meaning or are those simply two unicode characters? \$\endgroup\$ Mar 2 '19 at 4:36

Fastest prime printer up to 500,000,000 with gapes

Write a program that takes no input and prints the first 26,355,867 prime numbers, from 2 to 499,999,993 inclusively. Or in other words, print all the prime numbers smaller the 500,000,000.

The fastest code wins!

Since it will take a long time to print all the numbers, print only every 26355 primes starting with 2 separated by a new line. So the output should look like this:


The output should not be hardcoded, or there is no fun in it.

The results will be tested on my machine, so please also output in the last line how long it took to run the program and give me some instructions about how to run it locally. I will then share the last line output with you that should contain the time it took to run.

Here is my machine system specs, note that it's Windows.

enter image description here

  • 4
    \$\begingroup\$ Can be trivially hard coded. \$\endgroup\$
    Aug 4 '20 at 2:06
  • 1
    \$\begingroup\$ Also it's going to be nearly instantaneous, and might be duplicate of some existing (not sure about this part) \$\endgroup\$
    Aug 4 '20 at 2:07
  • \$\begingroup\$ tnx @user202729, I edited the question \$\endgroup\$ Aug 4 '20 at 2:17
  • 1
    \$\begingroup\$ A [kolmogorov-complexity] challenge won't work as [fastest-code]. The fastest solution will be a huge puts in C or C++. "The output should not be hardcoded" is not objective (for example, what stops me from storing 2p for each prime in the output?). \$\endgroup\$ Aug 4 '20 at 2:46
  • \$\begingroup\$ @mypronounismonicareinstate how about asking for the code size to be smaller than the output size? So such methods would not be possible? \$\endgroup\$ Aug 4 '20 at 2:54
  • 1
    \$\begingroup\$ @IlyaGazman okay, then I can do something like that but with the numbers stored in binary, or computed at compilation time. \$\endgroup\$ Aug 4 '20 at 2:58
  • \$\begingroup\$ Ok, how about that I ask your program or a library your program is using to have a code that checks for prime numbers? Something like: "You program can only print numbers that it tested to be primes" \$\endgroup\$ Aug 4 '20 at 3:15
  • 1
    \$\begingroup\$ Okay, then my program can also run a primality test on them before printing. I also wonder if the sieve of Eratosthenes counts. This requirement is unobservable. \$\endgroup\$ Aug 4 '20 at 5:11
  • \$\begingroup\$ Is the idea of doing every k'th prime that programs would otherwise be limited on time printing for all the primes rather than computing them? \$\endgroup\$
    – xnor
    Aug 4 '20 at 8:02
  • \$\begingroup\$ @xnor printing 26 million primes take a ridiculously long time \$\endgroup\$ Aug 4 '20 at 10:36
  • \$\begingroup\$ Another issue is that the run time is so fast (the C++ sieve answer (I think) takes only less than a second to run) that it's going to be hard to accurately measure the runtime. \$\endgroup\$
    Aug 4 '20 at 13:37
  • \$\begingroup\$ @user202729 that I would like to see! I bet you can't get it run below 2 seconds \$\endgroup\$ Aug 4 '20 at 17:50
  • \$\begingroup\$ This is essentially a duplicate of your earlier challenge, with the rather trivial modification of introducing gaps. As for your sense of how long it takes to print 26 million primes, you are mistaken. My submission on your earlier challenge printed all 26 million of them in under a minute on my laptop. The (now-deleted) C++ answer was even faster. \$\endgroup\$
    – Dingus
    Aug 5 '20 at 1:28
  • \$\begingroup\$ This is heavily downvoted and will require a great deal of work and specification to get to a point where it'd be considered on-topic on main. Furthermore, as other users have pointed out, this appears to be a duplicate of an existing challenge. If you don't intend to post this, would you mind editing this post down and deleting it in order to save space? \$\endgroup\$ Sep 25 '20 at 0:47

Mystery Numbers Challenge

Here are some sample inputs and outputs:


Test 1

Input: 102
Output: 10404 1061208 14002414191924244276669361796022272

Test 2

Input: 10
Output: 100 100000

Test 3

Input: 50
Output: 2500 312500000 312500000


If there are two inputs, here are the corresponding inputs and outputs:

Test B1



Output: 144 248832 248832

Test B1



Output: 81 729 59049 4782969 31381059609


If you pass all bonuses too, feel free to third your score. Also add a * to the end.

  • \$\begingroup\$ Maybe you should add kolmogorov-complexity, as if you don't explain how those outputs are generated you need to find the shortest way to generate these. Also how does the program need to preform on stuff not defined? \$\endgroup\$ Dec 31 '20 at 17:10
  • \$\begingroup\$ This seems not to be a serious submission but if it is, 'I'm not outlining what the program should do' is problematic. How does one write any program without an outline of what it should do? \$\endgroup\$
    – Dingus
    Dec 31 '20 at 22:35
  • \$\begingroup\$ @Dingus There are sample inputs and outputs. \$\endgroup\$
    – Someone
    Jan 1 '21 at 20:09
  • 1
    \$\begingroup\$ Questions involving hidden patterns and bonuses are discouraged here. If there's no hidden pattern and these are just random outputs, then the challenge is just compressing those output numbers and using the input as an index, which isn't very interesting. \$\endgroup\$ Jan 1 '21 at 20:49
  • \$\begingroup\$ @Someone Yes, I can see that. What should the code do for inputs of 1, -123456.789, or abcdefg? \$\endgroup\$
    – Dingus
    Jan 1 '21 at 22:32
  • \$\begingroup\$ Some kind of non-array-like output that indicates an error. I haven't thought of that. (Also, this is my first ever question, so it's likely garbage.) \$\endgroup\$
    – Someone
    Jan 2 '21 at 18:44

Your challenge is to write a small compiler/interpreter to a small language. This language can be of any level. Example: brainf*ck or Turing.

Example submission:

languageName : “name” 
GitHub : “https/GitHub.com/Lang”

a language is valid if it contains the folowing systems:

1: varibles of any type
2: a method of declaring and using functions
3: definable parameters
4: a update loop
5: loops
6: classes(optinal)

a compiler/interperater is valid if it can:

1: run/compile code
2: is fast (less than a minute to compile/initialize)
3: give error messages(optional)
4: written in java

The smallest compiler/interpreter wins

please tell me how i can fix this post if you intend on downvoting it in the comments

  • 2
    \$\begingroup\$ Literally none of the requirements you've listed are observable or are formally specified. I would recommend reading through this thread. \$\endgroup\$
    – hyper-neutrino Mod
    Jul 15 '21 at 2:50
  • \$\begingroup\$ @2 - I would recommend you to specify the language in the challenge. Here, in code golf, we always have a criteria (like code-golf (shortest code)). If you don't specify the language, some small languages like HQ9+ will take less bytes to make, but other small languages like chicken will take more bytes to make. Take your time reading the existing challenges and good luck on your second idea! \$\endgroup\$
    – mathcat
    Jul 15 '21 at 8:05
  • 1
    \$\begingroup\$ Welcome to Code Golf, and thanks for using the Sandbox! I'm going to be honest: I don't think you can fix this challenge idea. That's not a bad thing, some ideas just don't work well with our format. I'd be happy to elaborate more on the issues I see with this if you'd like me to, but overall, this is just far too broad to work. Many languages don't have any of the listed points (for example, brainfuck only has 5, and maybe 4), and the listed points seem very arbitrary \$\endgroup\$ Jul 15 '21 at 19:41

Make a search engine!


You are now the first employee of DuckDuckGoogle, a company founded by a Google employee and a DuckDuckGo employee! They have a new vision for search engine! But obviously, they need to make a search engine first! However, they are bad programmers (nobody knows how they were even hired at DuckDuckGo and Google!). So you are assigned the task of making a search engine.

Search engines

There are three parts to a search engine, a web crawler, an indexer, and a searcher.

The web crawler takes a link, and saves the page and stores the page data (the HTML code). It then looks for links in the page and visits those webpages and does the same. It will continue to do this until there are no more links left.

The web indexer will take the text from each page, take each word, and add it to a dictionary of words and the pages it is associated with. If the word is already in the dictionary, it adds the page as a value of that word that is found in the page. For example, lets say www.example.com/index.html contains the text "hello. thanks! goodbye." and the ww.example.com/index.html is linked to www.example.com/hello.html with the. text "hello. goodbye." The crawler would extract the text from the index.html, and find hello.html, and extract the text from hello.html. The indexer would make a dictionary like this:

dictionary ={"hello.": ["www.example.com/index.html","ww.example.com/hello.html"], "goodbye.":["www.example.com/index.html","ww.example.com/hello.html"], "thanks!": ["ww.example.com/index.html"]}

The simplest part of the search engine is the searcher, or retriever. It simply retrieves the value for the search term (i.e. the list of pages the search term is found in) and prints it. That is the final result of the program. So if the search term is "hello.", the program will print ["www.example.com/index.html","ww.example.com/hello.html"]

Now, here is the difficult part. You must take into account punctuation. So "hello" returns the same as "hello." Also the search engine should be case-insensitive. So "Hello" is the same as "hello", which, as we said, is the same as "hello." which was ["www.example.com/index.html","ww.example.com/hello.html"]


The challenge is to write a search engine in the least number of bytes as possible. Why? Because your bosses have decided to use 90% of the one hard drive they have (budget problems!) for the Holy Grail part of their project and you only get 10%.


  1. The input is the "seed", a url at which the crawler should start at, and also the search term.
  2. The output is a list of webpage urls where the search term is found.
  3. The program cannot use builtins for a search engine or even a crawler (or related, like a scraper or spider library).
  4. No need to worry about Javascript at all. Assume that the pages will not have Javascript.
  5. The webpages are assumed to have HTML 4.0.1 Strict.


I am pretty sure people know how search engines work. So I will only include two testcases. You can use the websites in the testcases for testing purposes as well.

> "https://www.udacity.com/cs101x/index.html" "crawl"

> "https://www.udacity.com/cs101x/urank/index.html" "hummus"
  • 3
    \$\begingroup\$ The first bonus doesn't make sense, as the terms localhost and @PHASE COME BACK WE ARE YOUR FRIEEEEENDS, just themselves, are 49 bytes. The language would need to do string-delimiter/comparison/output all in one character. ... Separately, how many iterations does the search need to travel? Meaning, if index1.html has a link to index2.html which has a link to index3.html which ... has a link to indexN.html, what's the limit on N? \$\endgroup\$ Jan 13 '16 at 13:59
  • 2
    \$\begingroup\$ 1. I don't even understand what the second bonus is trying to say. 2. What syntax should we assume? Do we need to handle tag soup, or can we refuse to index pages which aren't valid XHTML? Do we need to support JS execution which affects the page content, web components, etc.? \$\endgroup\$ Jan 13 '16 at 14:30
  • \$\begingroup\$ What counts as "visible text"? If there is white text on a white background, is that considered invisible? If there is another element stacked on top of the text, is that invisible? What if it is only visible on odd days of the month (because of some JavaScript)? If I have to scroll inside of a scroll pane in order to see it, is that considered visible? \$\endgroup\$
    – Rainbolt
    Jan 13 '16 at 14:39
  • \$\begingroup\$ Can we assume that all links on the page will be valid links? If not, how should we handle errors like HTTP 404 (Not Found)? \$\endgroup\$
    – Rainbolt
    Jan 13 '16 at 14:44
  • \$\begingroup\$ @Rainbolt all links are assumed to be valid. \$\endgroup\$
    – TanMath
    Jan 13 '16 at 20:12
  • \$\begingroup\$ @TimmyD I didn't take "localhost" into account and now the bonus will be -75 bytes. Also, do you really think a limit on N is needed? \$\endgroup\$
    – TanMath
    Jan 13 '16 at 20:15
  • \$\begingroup\$ @PeterTaylor syntax will be regular HTML.No need to handle JS. What I am saying in thr second bonus is that you would need to build a search engine that only puts text within the paragraph element (i.e. no tags will be counted as words) in the index. Also, other tags like <b> cannot be counted as words although it is part of the paragraph element. \$\endgroup\$
    – TanMath
    Jan 13 '16 at 20:17
  • \$\begingroup\$ @Rainbolt visible text, for the sake of simplicity will be anything in the paragraph element. \$\endgroup\$
    – TanMath
    Jan 13 '16 at 20:18
  • \$\begingroup\$ So only text in <p> elements should be counted? Text in titles etc should be ignored? (And what is "regular" HTML?) \$\endgroup\$ Jan 13 '16 at 20:24
  • \$\begingroup\$ @PeterTaylor HTML 4 will be "regular" HTML (since HTML5 has to still work dominating the world!) although thst reslly wouldn't affect the crawling that much. The paragraph, preformatted text, and header will be counted as visible text. \$\endgroup\$
    – TanMath
    Jan 13 '16 at 20:32
  • \$\begingroup\$ "HTML 4" still isn't very precise. Can answers require input to be conforming HTML 4.01 Strict? \$\endgroup\$ Jan 13 '16 at 23:31
  • \$\begingroup\$ @PeterTaylor ok. \$\endgroup\$
    – TanMath
    Jan 13 '16 at 23:31
  • \$\begingroup\$ This sandbox post has had little activity in a while and little positive reception from the community. Please improve / edit it or delete it to help us clean up the sandbox. \$\endgroup\$
    – user58826
    Jun 9 '17 at 14:13

Calculate Hello World!

Your goal is to calculate the simple string "hello world" or any other variant.


  • You may not use the characters in this set (inside your code): hHeElLoOwW rRdD!, in any form (character codes, hex codes, etc. not allowed) [only applies for direct use].
  • Your program may not take any input from any source.
  • Your program may only print hello world or any other variant to standard output (for your language). Again, it may not print anything else.
  • Standard loopholes apply (to clarify, they are not forbidden).
  • This challenge is underhanded.
  • Your program may not use any built-in string of printable characters (for example, string.printable in Python).
  • I recommend you be creative.

Remember, this is ! Have fun!

  • 3
    \$\begingroup\$ This is a trivial variant on stuff which has been done to death. It's also a Do X without Y question with obvious loopholes. \$\endgroup\$ Jun 12 '16 at 21:50
  • \$\begingroup\$ @Peter, I wrote this for creativity. I wanted to see the community's creative answers. \$\endgroup\$
    – user36215
    Jun 12 '16 at 21:56
  • \$\begingroup\$ This is not creative even remotely. I would even go as far as saying this is a duplicate of antoher challenge \$\endgroup\$
    – Bálint
    Jun 12 '16 at 22:03
  • \$\begingroup\$ Underhanded contests are off topic by community consensus. \$\endgroup\$
    – Dennis
    Jun 14 '16 at 3:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .