# Consider if your challenge really needs random output Challenges that require [tag:random] output require extra clarifications that challenges with deterministic output do not, and additionally exclude languages with no source of non-determinism. Often times randomness only acts as a [cumbersome output format](https://codegolf.meta.stackexchange.com/a/8077/56656), adding the randomness boilerplate from whatever language (or preventing submissions in that language). At the same time there are few benefits that it provides to a challenge. If there are a finite number of valid outputs for every input (which seems to be the majority of [tag:random] challenges) you can change a challenge from > Generate a random X to > Output all Xs Of course there are other ways to remove unnecessary randomness, for example if challenges of the form: > Generated a random X that satisfies property Y often (but not always) break down into two challenges > Generate a random X and > Given an X determine if it satisfies property Y And you will often find a more worthwhile challenge in one of these two (or both). --- Of course there are challenges that are best with random outputs. The clearest case of this are challenges that ask to generate output with a specific distribution, where meeting the specific distribution is the challenge. Some examples of such challenges * [Shortest code to produce non-deterministic output](https://codegolf.stackexchange.com/questions/101638)