A curva de Hilbert é um fractal para preencher o espaço, onde cada iteração irá ficar mais detalhada.

Para ser implementada com código pode-se utilizar uma definição recursiva a partir das regras abaixo (L-sistema).
Alfabeto : A, B
Constantes : F + −
Axioma : A
Regras de produção:
- A → +BF−AFA−FB+
- B → −AF+BFB+FA−
Aqui, "F" significa "avançar", "+" significa "virar à esquerda 90°", "-" significa "virar à direita 90°" (veja gráficos de tartaruga), e "A" e "B" são ignorados durante o desenho.
A iteração 0 você chama A e não executa nenhuma outra função, ficando "+F-F-F+", com uma caneta você à coloca no papel e segue as etapas, começando olhando para a direita:
- + Vire à esquerda 90º
- F Frente
- - Vire à direita 90º
- F Frente
- - Vire à direita 90º
- F Frente
- + Vire à esquerda 90º
Ao final você tem a primeira iteração que é um U de ponta cabeça.
Para as próximas iterações você continua chamando recursivamente as funções entre si, criando uma sequência de etapas cada vez maior na medida que aumenta-se o limite da recursão, mas as etapas elementares são as mesmas.
Formatação da saída
Veja nos exemplos de teste que deve-se utilizar os caracteres especiais para desenhar a curva, que são:
- Linha reta horizontal: ─
- Linha rata vertical: │
- Canto superior esquerdo: ┌
- Canto superior direito: ┐
- Canto inferior esquerdo: └
- Canto inferior direito: ┘
Não deve escrever mais nada além dos caracteres da curva, nem um espaço a mais no final de cada linha.