What is the Sandbox?

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

To post to the Sandbox, scroll to the bottom of this page or click on the "Add Proposal" link below, 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. 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, replace the post here with a link to the challenge and delete it.

See the Sandbox FAQ for more information on how to use the Sandbox.

The Sandbox works best if you sort posts by "active".

Add Proposal

Search the Sandbox

Browse your pending proposals

Get the Sandbox Viewer to view the sandbox more easily

To add an inline tag to a proposal use shortcut link syntax with a prefix: [tag:king-of-the-hill]

  • \$\begingroup\$ How are tags added to questions? \$\endgroup\$ – guest271314 Jan 9 at 7:51
  • \$\begingroup\$ @guest271314 You can use this markup to create a tag in a draft: [tag:code-golf] \$\endgroup\$ – DJMcMayhem Aug 29 at 15:19
  • \$\begingroup\$ Why no featured anymore? Can't we have it auto-added or something? \$\endgroup\$ – JL2210 Sep 26 at 15:57
  • 1
    \$\begingroup\$ @JL2210 We now have a permanent info box that links to the Sandbox, so the featured tag isn't necessary \$\endgroup\$ – caird coinheringaahing Sep 29 at 13:43

2621 Answers 2621


Pascal's Particulars

Pascal is feeling very particular today. He wants to get an element from his famous triangle without going through the work of generating all the prior elements. He'll provide you with a row number and an entry number and you'll provide him with the element at that location.

Input row = 1, entry = 1, output 1. (row 1 is 1)
Input row = 3, entry = 2, output 2. (row 3 is 1-2-1)
Input row = 6, entry = 3, output 10. (row 6 is 1-5-10-10-5-1)


  • You will only be provided valid inputs (i.e. x will never be higher than n).
  • Your code should either print or return the output value, either works.
  • Standard golfing rules apply (lowest byte-count wins, etc.).

Happy golfing!

  • 2
    \$\begingroup\$ you know that you are just asking for binomial(n,k), don't you? this is trivial \$\endgroup\$ – J42161217 Aug 17 '17 at 17:33
  • \$\begingroup\$ Duplicate \$\endgroup\$ – Peter Taylor Aug 17 '17 at 17:39

Break this block

Your challenge is to break this block. floating diamond

But of course that would be a pretty easy challenge, that's why this is a challenge.
The robber's challenge: Break the block. As breaking qualifies everything that has the result that no diamond block is at the coordinates 0 128 0 (even pushing it with a piston) and that follows the rules (see below).
The cop's challenge: Prevent the robbers from breaking the block. As preventing the breaking counts everything that guarantees that there is a diamond block at 0 128 0 in every future game tick despite the robber attempting his solution (and also if he doesn't). You are not in the world while the robber makes his attempt, so you have to prepare the world for him.


  • You may not use modded Minecraft or external tools that change the save file. Reading it with external tools is allowed.
  • You have to show a reproducible way to break/secure the block. Just uploading a world save without saying what you changed is invalid. You should offer a detailed explanation and preferably more (video, screenshots, structure file, etc.), if necessary.
  • This challenge starts with a normal world (default generation, Creative+cheats, random seed), where one diamond block was placed using the command
    /setblock 0 128 0 diamond_block
    The spawn chunks can include 0 0, but they don't have to. Since both sides have access to commands, that shouldn't matter anyway.

Sandbox questions

  • How should I restrict the version? Should it be "latest release", "any stable release", "only 1.12.1", "any snapshot, release or historical version" or something else? People could come up with interesting solutions using past versions (maybe even past snapshots that aren't selectable in the launcher anymore), but I have to somewhat restrict it. If a certain downgrade automatically breaks the block, it's of course boring, especially since they instantly win. And if they load the world in any of the 9 oldest versions in the launcher (called "Classic" and "pre-Classic), there isn't even a diamond block in the game, so it would be deleted.
  • Should I discourage people from instantly preventing every single breaking method with their first "cops" post? To have an interesting challenge, it should slowly become more difficult. If I should discourage it, how to "enforce" it?
  • What other rules do I need?
  • I'm planning to be very active myself on the "cops" side (I already have some nice ideas), possibly creating the majority of posts there. Is there a problem with that? If no, would it be considered unfair or boring to ask the others to wait up to a day with their solutions? Of course they don't have to do it, I just originally planned this to create programming challenges for myself.
  • If every answer on one side can have multiple answers on the other side, which itself could have answers on the first side and so on, that could lead to a tree-like structure. But such a structure would lead to many unanswered questions (if it doesn't keep growing exponentially, what I highly doubt). Is there a way to prevent that or should I even try it?
  • Apparently this is the first Minecraft-only programming challenge here. Should a tag be created for it?
  • 4
    \$\begingroup\$ This doesn't make sense. What are the submissions? Minecraft commands? A set of instructions? A program that reads a save file and outputs a new one? \$\endgroup\$ – DJMcMayhem Aug 22 '17 at 20:02
  • \$\begingroup\$ Submissions would mostly be Minecraft commands, but maybe in the first few rounds instructions. \$\endgroup\$ – Fabian Röling Aug 23 '17 at 5:39

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


Be typically flexible efficiently

Write a short function that returns outputs of different types in a non-boring way. If L is the length of your code and T is the number of different types returned, your score is (T−1)/L. The highest score wins.

  • The function must take exactly one argument and be deterministic, i.e., the output depends only on the input.

  • Obviously your programming language must have an official notion of type, by which each object has a unique, clearly identified type. Typically this would manifest in a type or typeof function returning an object’s type. Also, it must obviously allow functions to have differently typed returns.
    If there are many separate typing systems in your language, you have to pick one (conforming with the above) and stick to it.

  • The function must not employ any conditional constructs or other language features whose primary purpose is to handle logic, such as if statements, loops, or logical conjunctions. (Obviously, employed predefined functions need not adhere to this.)

  • All inputs needed to produce the outputs used for scoring as well as any elements of container structures must adhere to the following:

    • They are all of the same type.
    • If they are functions or otherwise callable (and actually called in your program), they must consistently return objects of the same type.
    • They must not be classes, type identifiers, or similar.
    • If they are strings, they are treated (with respect to these rules) as any obvious interpretation of them as code, class names, or similar.
    • If they are containers themselves, their elements must adhere to these rules when taken together.

    So, e.g., in Python the following are invalid:

    a = lambda i: [ 0, 0., [], {}, (0), {0} ][i]
    b = lambda i: [ int, float, list, dict, tuple, set ][i]()
    c = lambda i: [ [0], [0.], [[]], [{}], [(0)], [{0}] ][i][0]
    d = eval   # using "0", "0.", "[]", "{}", … as input
    e = lambda i: eval( ["0","0.","[]","{}","(0)","{0}"][i] )

    This also applies to containers generated during by the function during its execution. (Obviously, this does not apply to such objects if used internally by employed predefined functions.)

Valid (ungolfed) example


def f(i):
    return sum([2.][0:i])

For this we have:

f(0) == 0
type(f(0)) == int
f(1) == 2.0
type(f(1)) == float

This makes use of the fact that the sum of an empty iterable (like [2.][0:0]) is 0.

Sandbox questions

  • I am pondering whether I should replace a portion of the rules with a catch-all like:

    If whatever trick you use to acquire n types of output can be used to obtain n+1 types of output, it is invalid. (If n+1 just doesn’t work because n is the total number of types in your language, this doesn’t count either.)

    Obviously, this would lessen the chance of any boring loopholes, but it would also be more likely to be subject to interpretation. Do you think this is a good idea?

  • Did I miss any obvious loopholes that would make this challenge boring?

  • This challenge was mainly done with Python in mind, but I seen no reason why it should not extend to other programming languages (with a suitable typing system). Are there any obvious pitfalls with other languages that I should consider?

  • Are there any other appropriate tags for the question?

  • 3
    \$\begingroup\$ This seems like an interesting challenge at its core, but there are a lot of gotchas. Is indexing into a tuple considered a logical construct? For example, in PowerShell, you can put a Boolean into the index and it will automatically cast to 0 or 1 to get a pseudo-ternary operation. Are languages like Java allowed to use reflection? Etc. \$\endgroup\$ – AdmBorkBork Oct 13 '17 at 20:34
  • 1
    \$\begingroup\$ Also in a language like R (my most familiar language), there are really only 7 types as given by typeof() but there are numerous classes which can be found by class(). That being said, every instance of an R class is really list when typeof() is called on it. see this, for example. Basically, you'll have to make a decision for every language submitted on "a suitable typing system" \$\endgroup\$ – Giuseppe Oct 13 '17 at 20:44
  • \$\begingroup\$ @AdmBorkBork: Is indexing into a tuple considered a logical construct? – No, handling logic is not the primary purpose of this feature. I also do not see this as a problem since a tuple is an iterable and thus its elements would have to be of the same type. (Such pseudo-choosing operations are exactly the reason why I imposed that rule.) — Are languages like Java allowed to use reflection? – I only briefly looked into this, but I don’t see a how this could pose a loophole. \$\endgroup\$ – Wrzlprmft Oct 13 '17 at 21:24
  • \$\begingroup\$ @Giuseppe: (T-1)/L rather than (T-1)/C – corrected, thanks. — Basically, you'll have to make a decision for every language submitted on "a suitable typing system" – I added a note that you can pick one and stick to it in that case. Would this pose any problems with your example (R)? \$\endgroup\$ – Wrzlprmft Oct 13 '17 at 21:34
  • \$\begingroup\$ 1. A PowerShell tuple is not an iterable. 2. Plenty of languages have duck typing. That's a clear notion of type, but it has the potential to trivialise this question in the same way that reflection does. E.g. in JavaScript function f(s){var o={};o[s]=f;return o} 3. The Java method you should be looking at is Class.forName. \$\endgroup\$ – Peter Taylor Oct 13 '17 at 22:59
  • \$\begingroup\$ @PeterTaylor: 1. Okay, let me generalise this to containers. 2. I am familiar with duck typing from Python but I don’t see how this provides a loophole. Your JavaScript example always returns something of type object IIUC. 3. From what I just learnt, that seems to be a special case of interpreting strings as code. \$\endgroup\$ – Wrzlprmft Oct 13 '17 at 23:28
  • \$\begingroup\$ 2. "If there are many separate typing systems in your language, you have to pick one and stick to it." I'm using duck typing: your objection is using prototype-based typing. 3. No, it takes a string which is the name of a type and instantiates an object of that type using its public 0-ary constructor. \$\endgroup\$ – Peter Taylor Oct 14 '17 at 6:27
  • \$\begingroup\$ Given that so many approaches are disallowed, can you add a simple example or two of a valid approach? \$\endgroup\$ – user2390246 Oct 14 '17 at 8:14
  • \$\begingroup\$ @PeterTaylor: 2. I get what you are going at now, but I would not consider duck typing a clear typing system in the sense that every object has a unique type (I edited to clarify) – if you so wish, it is the absence of such a system. 3. I gathered that, but how is that not interpreting a string as code? Anyway, I edited that criterion to be more inclusive. \$\endgroup\$ – Wrzlprmft Oct 14 '17 at 9:47
  • \$\begingroup\$ @user2390246: I added an example. \$\endgroup\$ – Wrzlprmft Oct 14 '17 at 9:48
  • 1
    \$\begingroup\$ I don't think the edits unambiguously resolve the issues. 2. I can write a typeof function in JavaScript which produces an array of the properties of an object. 3. It's more like a defaultdict lookup than eval. And I don't see how "these strings are subject to all rules" unambiguously prohibits reflection.The contents of the string are characters: the string is not a valid statement or expression, and its contents can't really be said to have a type. \$\endgroup\$ – Peter Taylor Oct 14 '17 at 10:53
  • \$\begingroup\$ @PeterTaylor: 2. I can write a typeof function in JavaScript which produces an array of the properties of an object. – Words fail me. Let’s stick to official type systems (I edited). — 3. unambiguously prohibits reflection – My goal isn’t to prohibit reflection (which is probably fuzzy anyway), but only exploits thereof that make this challenge boring. I restructured the rules and extended them in a way that I hope will clearly cover Class.forName and any other boring exploits. \$\endgroup\$ – Wrzlprmft Oct 15 '17 at 9:48


  • Make a program that draws the following figure line by line.

  • Your program should wait for one-second(it can be longer, just has to be a noticable difference) after drawing each line.

  • Your program can only draw line by line (you cannot jump to another point or re-draw over a line)

  • Given a positive integer n, produce an art image of the below drawing

  • The angle measures should always be the same (regardless of n's value)

  • However, each line's length should be 150*n pixels

  • You only need to account for when n = 1, n = 2, n = 3



if n=1:

  • length = 150 pixels

if n=2:

  • length = 300 pixels

if n=3

  • length = 450 pixels



Answering - Name the language you used followed by its bytes


Java (swing), 500 bytes



Good luck!

  • 4
    \$\begingroup\$ You haven't solved the obvious issue "You can't have an equilateral triangle with angles of 45-45-90." (comment from deleted challenge) The sandbox is only helpful if you listen to people who suggest changes, really. \$\endgroup\$ – user202729 Oct 22 '17 at 8:00
  • \$\begingroup\$ I'm not sure what we're being asked to draw. Just the black figure? The black figure and the annotations? \$\endgroup\$ – Peter Taylor Oct 23 '17 at 7:07

I have seen many a trivial answer in jelly, so i wish to propose:

Challenge: A non-trivial answer

  • Input two strings
  • If the two strings are integers and are equal, output a truthy value.
  • Otherwise, output a falsy value.


  • You may receive non-integer inputs.
  • You will never receive an integer that is outside the bounds [-2³¹, 2³¹). Rules

  • Standard loopholes are disallowed.


  • This is not your standard code-golf
  • the winner person who posts the longest program.
  • an entry is invalidated if someone posts a shorter program in the same language.
  • \$\begingroup\$ Note: i don't believe that this is code-bowling, as only the shortest program in any language is eligible; this is more about finding an obscure language in which the task is actually hard to do, rather than obscure languages where the task is too easy. \$\endgroup\$ – Andrew Hill Nov 2 '17 at 22:19
  • \$\begingroup\$ Easy win for Unary. \$\endgroup\$ – Dennis Nov 2 '17 at 22:26
  • \$\begingroup\$ what a horrible way of representing a program, yeah... any type of 'longest sensible program' task is not so helpful. \$\endgroup\$ – Andrew Hill Nov 3 '17 at 3:20
  • \$\begingroup\$ @Dennis do you think that restricting to languages that have won a standard code-golf challenge in 2017 would help? It does seem that if we have to start putting in language or other implementation restrictions, then this isn't worth posting. Oh well. guess this stays on the proposal board. \$\endgroup\$ – Andrew Hill Nov 3 '17 at 3:22

Golf This Question

Your program should output to STDOUT the full text of this question as it appears on your screen, so no HTML. This includes the title and the body. Please do not edit this question whatsoever so-as to keep it the same for all programs.

No reading the text from a file or the internet

This is , so the shortest code wins!

Sandbox Is this a good question? Is there anything I should clarify?

  • \$\begingroup\$ similar but obviously different since it requires the markdown. \$\endgroup\$ – Giuseppe Nov 8 '17 at 16:17
  • 1
    \$\begingroup\$ You should add some rules and winning criteria (which would increase the length of the question, but oh well) \$\endgroup\$ – HyperNeutrino Nov 8 '17 at 17:28
  • 1
    \$\begingroup\$ I'm not sure what much this adds beyond the typical KC challenges, and thus it's likely to be closed as a dupe. \$\endgroup\$ – AdmBorkBork Nov 8 '17 at 17:36
  • 1
    \$\begingroup\$ @AdmBorkBork I guess OP means to allow access to the internet, in which case it's very different, but I'm not sure... If so, it's basically a challenge about parsing html, or get the result directly from the API (if that's possible). \$\endgroup\$ – Stewie Griffin Nov 8 '17 at 18:40
  • \$\begingroup\$ Include tag about Kolmogorov complexity. \$\endgroup\$ – Heimdall Nov 11 '17 at 8:43
  • \$\begingroup\$ Why the downvotes? \$\endgroup\$ – FantaC Nov 21 '17 at 23:24

Find the min swaps for order one powerset for a List

The question it is write one powerset function and one sort function tha minimize the swaps for doing one order with this compare function on powerset of the List A

cmp(a,b) -- a and b are subset of the list A
    if sizeof a > sizeof b then (swap a and b; return)
    if sizeof a < sizeof b than return
    for i in 1..(sizeof a) repeat
         for j in 1..(sizeof A) repeat
               if a[i]==A[j] then return
               if b[i]==A[j] then (swap a and b; return)

the result of this compare function on the sets wuold be the follow:

(15) -> powSet([1,2,3])
   (15)  [[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]]
                                                      Type: List List Any
(16) -> powSet([3,2,1])
   (16)  [[],[3],[2],[1],[3,2],[3,1],[2,1],[3,2,1]]
                                                      Type: List List Any

note that order depend not from the number element, but on the position on the start List A=[1,2,3]

(17) -> powSet([1,2,3,4,5,6])
   [[], [1], [2], [3], [4], [5], [6], [1,2], [1,3], [1,4], [1,5], [1,6], [2,3],
    [2,4], [2,5], [2,6], [3,4], [3,5], [3,6], [4,5], [4,6], [5,6], [1,2,3],
    [1,2,4], [1,2,5], [1,2,6], [1,3,4], [1,3,5], [1,3,6], [1,4,5], [1,4,6],
    [1,5,6], [2,3,4], [2,3,5], [2,3,6], [2,4,5], [2,4,6], [2,5,6], [3,4,5],
    [3,4,6], [3,5,6], [4,5,6], [1,2,3,4], [1,2,3,5], [1,2,3,6], [1,2,4,5],
    [1,2,4,6], [1,2,5,6], [1,3,4,5], [1,3,4,6], [1,3,5,6], [1,4,5,6],
    [2,3,4,5], [2,3,4,6], [2,3,5,6], [2,4,5,6], [3,4,5,6], [1,2,3,4,5],
    [1,2,3,4,6], [1,2,3,5,6], [1,2,4,5,6], [1,3,4,5,6], [2,3,4,5,6],
                                                      Type: List List Any

Win the one that minimize the swaps for order the powerset of the follow list


Patterns match for composed expression

If we have one math expression B(x) [that mean in B appear x] [math expression is one expression where appear only symbols for function and operator of mathematics that are ok for type and compose ] Find the max lengt subexpression g(x) of B contain x such that


And f(y) and g(x) are both math expression.

Find Max for a function in one interval

R is the set of real numbers. Is given a function f:A->R from set A (⊆ R) to the R, continue and derivable in one close interval

 [a, b]⊆A

Write the shortest program for find

 max{f(x): x in [a,b]}

knowing the function f(x) derivable in the interval [a,b]. The solution has to be correct at last until the V digit after the float point, and for all functions f that has 10 value max in which f'(x)= 0 in [a, b]. codegolf tag

On Riemann Zeta function domain

If Zeta:C->C is the Riemann Zeta function, we give the set:

 W={b: 0<b<100 and Re(Zeta(0.5+i*b))=-Im(Zeta(0.5+i*b))}

Where Re() return the real part of its argument, and Im() return the imaginary part of its argument.

It is requested to calculate one approximation of each element of W; this means here all b in float numbers with b in 0..100 such way


at last, to put all together in a array or list or set of float.

One can note that the below set of zeros for the Riemann function is a subset of above W set.

 {b: 0<b<100 and Zeta(0.5+i*b)=0}

Some test

Some numbers b approssimation to solution of equation


the ones that are approssimation to solution of equation Zeta(0.5+i*x)=0 too

[14.134725, 21.022039, 30.424876, 32.935061, 37.58617815, 40.918719, 43.327073, 48.00515, 49.773832]

the ones not approssimation to solution of equation Zeta(0.5+i*x)=0 too

[12.458493623791109003, 24.351346882420215577, 28.716611773969890307]

The code more short in bytes that find all these approssimations of element of the set W wins...

Code golf tag

  • 2
    \$\begingroup\$ You're going to need to phrase this better and be more precise about what you're asking for. Currently, this sounds a little bit like a homework question. \$\endgroup\$ – numbermaniac Apr 22 '17 at 13:25
  • \$\begingroup\$ This is also formatted improperly. \$\endgroup\$ – Erik the Outgolfer Apr 22 '17 at 13:27
  • \$\begingroup\$ This appears to permit hard-coding the output, which is generally a sign of a bad question. Why not parameterise it? \$\endgroup\$ – Peter Taylor Apr 22 '17 at 15:09
  • \$\begingroup\$ I think now I ' m clear... What is not clear or ambiguous? \$\endgroup\$ – RosLuP Apr 22 '17 at 15:40
  • \$\begingroup\$ possibly a little too much difficult... there are numbers that seems solutions but if i increase digits they are just wrong.... \$\endgroup\$ – RosLuP Apr 23 '17 at 17:55
  • 1
    \$\begingroup\$ Also, it's "approximation". \$\endgroup\$ – Steve Bennett May 22 '17 at 6:40
  • 2
    \$\begingroup\$ Being (continuous and) differentiable is quite a weak constraint. There are e.g. nasty functions which are differentiable but whose derivative is not integrable. \$\endgroup\$ – Peter Taylor May 22 '17 at 11:47
  • \$\begingroup\$ One continue function in one close interval [a, b] has max and min \$\endgroup\$ – RosLuP May 22 '17 at 13:48
  • \$\begingroup\$ So for the order a PowerSet of one list is all clear... \$\endgroup\$ – RosLuP Nov 16 '17 at 13:30

Shortest code to draw a png from stdin

Rules :

  • You’re free to use any image library you want as long as the image library is designed in the same language as your answer.
  • The image should be displayed in an Xorg or wayland window or a console framebuffer.
    If you’re displaying to a window, you don’t need to create any windows control (in that case the programs ends with CTRL+C).
  • The stdin stream doesn’t eof. so the only way to get the image size is to parse png data. Once the image had been displayed, /dev/stdin should be closed.
  • Your answer shouldn’t crash on random data.

The answer using the fewest bytes wins !

  • \$\begingroup\$ Way too easy for some languages and way too hard for others. And how would I do it if my language can't produce graphical output? What if I have neither STDIN nor STDOUT? \$\endgroup\$ – Nissa Nov 29 '17 at 16:21
  • \$\begingroup\$ @StephenLeppik : the point of my question is to suggest that language choice is restricted to languages that can run on Unix systems supportting screening. I don’t know too easy answers, but libpng16 along Xorg libraries should make it possible in a few line of code. \$\endgroup\$ – user2284570 Nov 29 '17 at 16:45
  • 2
    \$\begingroup\$ Restricting it to such a small list of languages is a good way of alienating half the site. \$\endgroup\$ – Nissa Nov 29 '17 at 16:52
  • \$\begingroup\$ @StephenLeppik : It just basically, restrict to all languages which can write a hello word. Writing to a framebuffer is just as easy as to write a raw image in device file which opens like a normal file so this doesn’t matter. I’d rather say the list of language that can print a Hello world on Linux or ʙꜱᴅ is huge but not small. \$\endgroup\$ – user2284570 Nov 30 '17 at 17:34
  • \$\begingroup\$ Believe it or not, displaying an image is not a capability that directly follows from being able to print text… \$\endgroup\$ – Unrelated String Mar 22 at 2:40
  • \$\begingroup\$ @UnrelatedString that’s because it’s not possible to do it from text I’m asking this. But this is defintely like writing to a file. \$\endgroup\$ – user2284570 Mar 22 at 19:31

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\$ – user202729 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\$ – Kamil Drakari 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\$ – Redwolf Programs 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\$ – Redwolf Programs Apr 17 '18 at 22:39
  • 3
    \$\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\$ – Redwolf Programs 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\$ – Nathaniel 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\$ – Asone Tuhid Apr 18 '18 at 14:35

Palindromic Programming

In English (And other languages), a palindrome is a word that is the same read backwards. This is your challenge: to build a program that is the same run backwards. For example:

var rav
f4x0 = 0x4f

But one potential problem would be a string, regex, or variable name that is very long. So here's the rule: no variable definitions, variable names, or constant can use more than 10 bytes of text. The program doesn't have to do anything, as long as it just doesn't error and is the same backwards. But here's the catch: It doesn't have to be the same backwards, it just has to run the same. Standard loopholes not allowed, and you're code bowling.

  • 5
    \$\begingroup\$ I'm fairly certain that "Do two programs run the same" is impossible to verify, especially since the program isn't required to actually do anything visible. The stuff about "no variable definitions, variable names, or constant can use more than 10 bytes of text" is also not a very well defined constraint, nor does it forbid the most common type of padding: comments (which are at least as difficult to define). \$\endgroup\$ – Kamil Drakari Apr 18 '18 at 18:39
  • \$\begingroup\$ In Japt, and many other golfing languages I'd assume, it's trivial to construct an endlessly long program that matches all of your current criteria. Altering, the a-s are method calls and constants, neither being longer than 10 bytes: ethproductions.github.io/japt/… \$\endgroup\$ – Nit Apr 18 '18 at 18:58
  • 2
    \$\begingroup\$ I think the general challenge idea is interesting, that the program has to be a palindrome, but I think it would work better if there was a specific task the program had to achieve. \$\endgroup\$ – Nit Apr 18 '18 at 18:59
  • \$\begingroup\$ Agreed. It's not enough to have a source-restriction; there needs to be a task to solve. Some direction needs to be given to us. Also, you didn't disallow comments. And even though a single constant is limited in size, it's trivial to add more constants. tio.run/##K6gsycjPM/r/39CaBvD/fwA \$\endgroup\$ – mbomb007 Apr 18 '18 at 19:47
  • \$\begingroup\$ Okay. I'll disallow comments. What would be a good task to accomplish? \$\endgroup\$ – Redwolf Programs Apr 18 '18 at 23:51
  • \$\begingroup\$ @RedwolfPrograms The problem is you are assuming language features. For every restriction you can come up with, I can find a programming language where those restrictions doesn't make sense (and thus make the program arbitrarily long) \$\endgroup\$ – user202729 Apr 19 '18 at 1:55
  • \$\begingroup\$ @user202729 True. However, it could be possible to make the program required to do a certain task, and therefore any random palindromic text wouldn't work? \$\endgroup\$ – Redwolf Programs Apr 19 '18 at 2:18
  • \$\begingroup\$ @RedwolfPrograms It's hard to write a successful code bowling problem (where it's hard for people to get arbitrarily large score) Just try it. \$\endgroup\$ – user202729 Apr 19 '18 at 2:32
  • \$\begingroup\$ @user202729 Hopefully, I'll find something cool, like the "Pristine and Unique Code Bowling" challenge, but better. \$\endgroup\$ – Redwolf Programs Apr 19 '18 at 2:34
  • 5
    \$\begingroup\$ Disallowing comments is impossible. Seriously. We've tried so many times. Beyond the fact that different languages have different meanings of "comment": Is a string a comment? A really big number? A really long variable name? All of these can be used as effectively as a comment, and are impossible to nail down. \$\endgroup\$ – Nathan Merrill Apr 19 '18 at 2:59
  • \$\begingroup\$ Fundamentally, code-bowling doesn't work as the "core" of the challenge. What you really need is a challenge that is already about source layout/manipulation, and then fit code-bowling onto it. More of my thoughts \$\endgroup\$ – Nathan Merrill Apr 19 '18 at 3:03

[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\$ – Peter Taylor 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\$ – Peter Taylor Apr 25 '18 at 14:59

Not today

The challenge

Given a timestamp (date and time) output another timestamp that differs from the input at all positions, i.e. has different value for year, month, day, hour and minute.

Input and output

A timestamp in any reasonable format including, but not limited to:

  • timestamp type, if your language supports it,
  • string,
  • number (eg. number of seconds from specific fixed date),
  • array of numbers or strings.

You may assume valid date (AD) and time as input and must have valid date (AD) and time as output. You can follow simplified date regulations for the whole time since year 1 AD:

  • respective month lengths: 31, 28/29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;
  • leap years are needed to be taken into account;
  • a day has 24 hours and an hour has 60 minutes - no need to account for leap seconds and other anomalies;
  • you can handle midnight any way you prefer (as 00:00 or 24:00).

If you choose, you can support seconds and milliseconds, but the difference condition doesn't apply.


2018-05-01 17:28 --> 2000-01-02 12:11
0001-01-01 00:01 --> 3000-12-31 23:59
3000-12-31 23:59 --> 0101-01-01 01:01
  • 2
    \$\begingroup\$ I'm afraid that this is too trivial. Just add 1 year, 32 days, 1 hour and 1 minute. (about 34390860 seconds) There may be better constants, but once a good constants had been figured out, people would just port that to other languages. Boring. \$\endgroup\$ – user202729 May 2 '18 at 8:59
  • \$\begingroup\$ @user202729 do you think removing the input/output as number will make it less trivial (without making it a chameleon challenge)? Also, maybe making an upper and lower limit for the date would add some difficulty? \$\endgroup\$ – pajonk May 2 '18 at 19:29
  • \$\begingroup\$ Javascript String->string s=>1+s \$\endgroup\$ – l4m2 May 3 '18 at 10:58

Reverse Code Golf- Print out two by using variables a and b that both equal one and adding them without any extraneous lines.

Your task is very simple, display that 1+1=2, except you need as many commands and non extraneous lines as possible.

What counts as non-extraneous? If one cannot remove any kind of sequence or segment of commands, then the program is counted as non-extraneous. The variable names need to be only one byte each, without any kind of trailing zeroes or insignificant digits.

Input: nothing

Output: "2" or 2 or whatever, as long as the program runs 1+1.

Sample: Java- System.out.println( Integer.parseInt( "1" ) + Integer.parseInt( "1"));


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\$ – Peter Taylor Jun 21 '18 at 6:14

Send the pairs

Write two program A and B. A takes 1024 pairs of integers (a,b), where 0≤a<232, 0≤b<1024, and all as are different. Output a positive integer. B take the output of A and one a from the input pairs of A, and output its b.

Smallest output of A under a same random test data win.

  • \$\begingroup\$ To be a truly objective challenge, the test data should be included in the question; but then B could hard-code it and A could output 1 as a flag to invoke the hard-coded data. \$\endgroup\$ – Peter Taylor Jul 24 '18 at 20:03
  • 1
    \$\begingroup\$ @PeterTaylor I don't think hiding the test case make the challenge less objective. \$\endgroup\$ – user202729 Jul 25 '18 at 7:45
  • 2
    \$\begingroup\$ @user202729, codegolf.meta.stackexchange.com/a/1369/194 . If I can't tell whether a change to my answer makes it better or worse, it's not an objective challenge. If the only person who can tell is the OP, then the judging is a black box which from the outside is indistinguishable from a purely subjective judgement. \$\endgroup\$ – Peter Taylor Jul 25 '18 at 7:50
  • \$\begingroup\$ @PeterTaylor codegolf.meta.stackexchange.com/a/308 (+15 vote) \$\endgroup\$ – l4m2 Jul 25 '18 at 10:44
  • 1
    \$\begingroup\$ @l4m2, that agrees perfectly with the last sentence of my previous comment. \$\endgroup\$ – Peter Taylor Jul 25 '18 at 11:18
  • \$\begingroup\$ @PeterTaylor No if the test is public some days after \$\endgroup\$ – l4m2 Jul 25 '18 at 11:33
  • \$\begingroup\$ @l4m2, then you would lack a winning criterion until you post those tests publicly. \$\endgroup\$ – JungHwan Min Jul 29 '18 at 14:41
  • \$\begingroup\$ @JungHwanMin A recent meta post explicitly allowed that. \$\endgroup\$ – user202729 Aug 1 '18 at 2:52

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\$ – user202729 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 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\$ – Peter Taylor 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\$ – user202729 Jul 31 '18 at 15:15
  • \$\begingroup\$ Ergo! Goin' to the Kongregate Off-topic forum! \$\endgroup\$ – Ikura Jul 31 '18 at 18:48

Write a program that takes a list of strings as input and creates trees of prefixes as such:


Which would output:

Hi Hi_there Hi_there_how_are_you?
Ma Many_of_us
   May_has_11_days May_has_11_days
IWillLearnThe IWillLearnTheTrombone

The input strings shall contain no spaces and the output shall be separated by at least one space, any number of extra line breaks or spaces are allowed. The output above is formatted to explain the challenge, the following formatting is also valid:

Hi Hi_there Hi_there_how_are_you? Hi_there_would_you_mind? Hi_the_weather_is_nice Hills_are_green Ma Many_of_us May_has_11_days May_has_11_days May_has_11_days_left IWillLearnThe IWillLearnTheTrombone IWillLearnTheSaxophone IWillLearnThePiano

This question is a kind of reverse of this Prefix Tree Traversal. This is code golf, shortest code in bytes win.

Note: I'm struggling with the output? What would be the most 'fun'/ have high potential for cleverness? The one I have now just looks like a mess. Can i have output as a list of lists(of lists)? Or do that hinder people?

  • 1
    \$\begingroup\$ Related (make an alphabeTrie). Very close, though I think it might depend on your output format on whether it is a dupe \$\endgroup\$ – Jo King Sep 23 '18 at 8:48
  • \$\begingroup\$ I would mark it as a duplicate to the one that Jo King linked. \$\endgroup\$ – AdmBorkBork Sep 27 '18 at 19:54

I'm glad the sandbox exists because I have a few issues coming up with the right wording for this.


Theoretically, any numeric pattern should exist somewhere in the decimal places of pi.


Given any numeric input, find the index (location?) of the first occurrence of that input in the decimal place of pi

Example cases:

  • 1 = 1
  • 14 = 1
  • 41 = 2
  • 897 = 11


any numeric input, can't see why it should be limited by any number of characters. I am not sure about limitations, but this could get computationally intense if it's a large sequence of numbers that occur very deep into pi. Do I need to add any restrictions to cater for computational complexity?

  • 5
    \$\begingroup\$ We'be had this challenge before. That one only requires the first few digits, but I think we've had enough challenges about pi that this won't add anything \$\endgroup\$ – H.PWiz Sep 25 '18 at 7:36
  • 2
    \$\begingroup\$ "Theoretically, any numeric pattern should exist somewhere in the decimal places of pi." - how do you know that? \$\endgroup\$ – ngn Sep 25 '18 at 10:00

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\$ – guest271314 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\$ – guest271314 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\$ – Nathan Merrill 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\$ – Nathan Merrill 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\$ – guest271314 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\$ – Nathan Merrill 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\$ – guest271314 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\$ – Nathan Merrill 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\$ – guest271314 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\$ – Nathan Merrill 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\$ – guest271314 Oct 8 '18 at 19:25
  • \$\begingroup\$ @NathanMerrill What edits to the original question or this question do you suggest? \$\endgroup\$ – guest271314 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\$ – Nathan Merrill 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\$ – Peter Taylor 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\$ – Peter Taylor Oct 11 '18 at 7:30



Name: Two is an error, One runs fine!

The challenge is simple.

When one character is removed from the given program, it should not error, but when two are removed, it should error.


If you repeat one Unicode character in the program, then your score will be the number of bytes subtracted by the Unicode value of the character (0 for NUL, 10 for newline, 64 for A, etcetera).

Else, your score is the number of bytes.

As always, since this is code bowling, most bytes win!

  • 2
    \$\begingroup\$ What if I repeat two characters in the program? \$\endgroup\$ – user202729 Dec 1 '18 at 3:29
  • 4
    \$\begingroup\$ What if I just have a really large amount of NUL bytes? \$\endgroup\$ – Jo King Dec 1 '18 at 3:33
  • \$\begingroup\$ Is it ok if the program itself error/not error? \$\endgroup\$ – user202729 Dec 1 '18 at 3:35
  • \$\begingroup\$ What about infinite loop? \$\endgroup\$ – user202729 Dec 1 '18 at 3:35
  • 1
    \$\begingroup\$ This question needs major work: in its current state I would definitely vote to close it, and the only question would be whether to close as Too Broad or to close as Unclear. It's too broad because there's no specification for what the program must do. It's unclear because it's not specific enough on the quantifiers around the character removal: if it should be robust against the removal of any character, be explicit. See radiation-hardening for existing questions in this area, both for examples of how to word them and to ensure that it's different enough to be new and interesting. \$\endgroup\$ – Peter Taylor Dec 1 '18 at 10:42
  • \$\begingroup\$ @PeterTaylor Although the program can do anything, it should not be too broad if the challenge is sufficiently hard. \$\endgroup\$ – user202729 Dec 4 '18 at 10:30
  • \$\begingroup\$ About the removal of any character: I guess that the score is \$len-\sum_{c}{c\times \max(0,n(c)-1)}\$ for \$len\$ = program length in bytes and \$n(c)\$ = number of occurences of character c in program, but I'm not sure. \$\endgroup\$ – user202729 Dec 4 '18 at 10:32
  • \$\begingroup\$ LENGUAGE win!!! \$\endgroup\$ – l4m2 Dec 4 '18 at 11:32

Output a number \$n\$ such that:

  1. \$n\text{mod}10=5\$
  2. \$n^2\text{mod}10^{10000}=n\$

Shortest code win. You should be able to try it rather than purely know it work.

Sandbox mainly to check duplication

  • 1
    \$\begingroup\$ Wouldn't this be easy to just hardcode the number? \$\endgroup\$ – Jo King Dec 13 '18 at 13:22
  • \$\begingroup\$ @JoKing We must have \$n^2\ge 10^{10000}\$, so \$n\ge 10^{5000}\$ which if naively hardcoded takes \$5000 \log_2{10}\$ bits. \$\endgroup\$ – user202729 Dec 13 '18 at 14:24
  • \$\begingroup\$ However, we already have modular multiplicative inverse challenge, I expect most answers to be very similar. \$\endgroup\$ – user202729 Dec 13 '18 at 14:42
  • \$\begingroup\$ @user202729 It's likely that you'll get 1 in that way or be too slow so I need time requirement \$\endgroup\$ – l4m2 Dec 13 '18 at 15:00
  • \$\begingroup\$ @l4m2 Most solutions there use extended Euclid algorithm so they will not be too slow... \$\endgroup\$ – user202729 Dec 13 '18 at 15:06
  • \$\begingroup\$ @user202729 So they'll get 1 \$\endgroup\$ – l4m2 Dec 13 '18 at 15:22
  • \$\begingroup\$ Get 1 what? The correct answer is 810...90625. \$\endgroup\$ – user202729 Dec 13 '18 at 15:31
  • \$\begingroup\$ Will how many languages use this? \$\endgroup\$ – l4m2 Dec 13 '18 at 15:57

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 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\$ – Jonathan Frech Mar 2 at 4:36

add two numbers in string representation


Given two strings representing non-negative integers in base 10, return the string corresponding to their sum - without any explicit arithmetic operations. This means you have to implement incrementing (probably with a lookup and indexing) and carrying (probably with iteration or recursion) on your own. Comparisons and boolean operations are allowed.


"1" + "1" = "2"
"5" + "6" = "11"
"0" + "8" = "8"


Write a function or program which takes the two strings in a way you want to.
Output, print or return the solution in whatever way you want.

Ah, and also don't forget that this is code-golf, so shortest answer in bytes will win. Also, all standard loophole rules and so on apply (you should know from all the other challenges!)


This challenge changed, evolved and got compressed during discussion with Adám starting from here (feel free to review the edits and chat of this post on how we got here)

Tags for cgcc post:

  • 9
    \$\begingroup\$ This is still "Do X without Y", and Y is not always clear-cut. What counts as an "explicit arithmetic operation" in lambda calculus? \$\endgroup\$ – Peter Taylor Jul 25 at 15:22
  • \$\begingroup\$ @PeterTaylor my english is not the best in the world and also i am not a pro in thins like loopholes or coding terminus around maths. you have any idea how to propose this or what kind of operations to prohibit? I would just come up with explicite "+" "-" "*" and "/" operations directly on the string representations (also to exklude languages which can handle interpreting strings as numbers). But are there furter operations I forget? \$\endgroup\$ – pixma140 Jul 26 at 5:43
  • 7
    \$\begingroup\$ I don't think it can be fixed. \$\endgroup\$ – Peter Taylor Jul 26 at 5:53
  • \$\begingroup\$ I agree this can't be defined objectively. The only way I can see this working is if the output was required to include the steps of calculation so that it's no longer an non-observable requirement. That would probably involve specifying a particular approach to implement though. I can't guess whether such a restriction would make the challenge interesting, but I suspect it would not. \$\endgroup\$ – trichoplax Jul 28 at 18:58
  • \$\begingroup\$ Guess then I will better not post this question outside of the sandbox.. But thanks to you all so far! :) \$\endgroup\$ – pixma140 Jul 29 at 5:41

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.


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
  • 4
    \$\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\$ – FryAmTheEggman Mar 31 '16 at 12:59
  • \$\begingroup\$ Did you misspell it on purpose? \$\endgroup\$ – noɥʇʎԀʎzɐɹƆ Mar 31 '16 at 13:55

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\$ – Peter Taylor 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

Mad lads!

Inspired by the paper calculator episode of Numberphile.

Your challenge in this puzzle is to take in two two-bit (0-3) numbers and output the sum of the two numbers... using ordinary household objects.

Some possibilities of how this can be done:
music box (+ some helpers..)


input must always be involving two sets of two-bit integers, which can be represented by anything you like, so long as the cardinality of the representations is the same.


The output should be a single 3-bit integer which represents the addition of the two inputs.


  • your device cannot have the capability to connect to the internet in any way (sorry, this also disqualifies carrier pigeons). Your device must also not be able to perform this function alone (eg a calculator).
  • It must be somewhat original. put your own twist on it!
  • though, your entry can be alive (does your dog add??), so long as your entry is not in discomfort.
  • Pictures are required for each entry to show how it works. videos would be better, but aren't required!
  • The sole function of your machine does not have to be adding, it can do other things as well. This means that older projects that may serve a slightly different function are welcome, so long as they meet the rules stated above.
  • Your device can be as simple or as complex as you like, so long as it doesn't get to a point where it's completely esoteric.


You will be judged based on ease of use, ease of understanding, as well as originality! This means that entries should be easily explained, used, and be unique in some way.

This is a , so the most upvotes wins! good luck!

  • 2
    \$\begingroup\$ In my opinion, this is not a programming challenge. Once we start leaving the realm of a computer-based programming paradigm, a challenge becomes more difficult to test, replicate, and verify. Plus, something done with Dominoes, for example, may not "run" to completion 100% of the time, and in my opinion that makes it non-deterministic. \$\endgroup\$ – mbomb007 Sep 26 '16 at 18:43
  • \$\begingroup\$ Related meta: meta.codegolf.stackexchange.com/a/10151/34718. TLDR, if you want to program with dominoes, find or create a domino simulator where programs can be scored in bytes. Instead of marbles, use Marbelous. \$\endgroup\$ – mbomb007 Sep 26 '16 at 18:52
  • \$\begingroup\$ @mbomb007 what about papers, and counting dogs? This isn't a code golf, it's a popularity contest \$\endgroup\$ – user56309 Sep 26 '16 at 19:20
  • 2
    \$\begingroup\$ Popcons still require the use of programming languages. meta.codegolf.stackexchange.com/q/2028/34718. See both linked meta questions. What you are trying to do is off-topic for this site. \$\endgroup\$ – mbomb007 Sep 26 '16 at 19:42
  • \$\begingroup\$ @mbomb007 I'm not sure you linked the correct thing. I have found no reference of popularity contests in your recent link.. \$\endgroup\$ – user56309 Sep 26 '16 at 19:44
  • \$\begingroup\$ Rules and meta consensus apply to all challenges, not just code-golf. \$\endgroup\$ – mbomb007 Sep 26 '16 at 20:21
  • \$\begingroup\$ Popcons should be held to a higher standard than other questions, not a lower one as your comments imply. \$\endgroup\$ – Peter Taylor Sep 27 '16 at 7:33

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\$ – Mego Nov 29 '16 at 8:59
  • \$\begingroup\$ Ok you are right \$\endgroup\$ – RosLuP Nov 30 '16 at 10:04
  • 3
    \$\begingroup\$ The edit doesn't do anything to fix the problem. \$\endgroup\$ – Peter Taylor Nov 30 '16 at 14:48
  • 3
    \$\begingroup\$ The bigger problem is that this post is incomprehensible. \$\endgroup\$ – Mego 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

You must log in to answer this question.

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