Seu desafio é escrever 5 programas completos diferentes para as 5 seguintes tarefas:
Impressão
Hello, World!
Dada uma entrada com STDIN, imprima o fatorial, você pode assumir que a entrada é um número inteiro> = 0
Dado um número inteiro N, calcule a soma dos números primos <= N
Dada uma entrada com STDIN, imprima as letras usadas na entrada. Por exemplo: a entrada é
Hello world
, você precisa produzirhelowrd
. Observe que a saída está em minúscula. Você pode assumir que a entrada é sempre alfabética com espaços em branco, os espaços em branco são ignorados.Produza o seguinte diamante exatamente assim:
* *** ***** ******* ***** *** *
Todos esses desafios são provavelmente muito fáceis, mas há um problema. Todas as letras que você usa não podem ser usadas novamente nos outros programas. Isso não é proibido, mas você receberá uma penalidade de +8 bytes . Por exemplo, se este é o seu programa para a primeira tarefa:
print("Hello, World!");
Então você não pode usar as seguintes letras (maiúsculas ou minúsculas forma): p
, r
, i
, n
, t
, h
, e
, l
, o
, w
, d
nos outros programas. Se você precisar usá-los, poderá "comprar" cada letra por 8 bytes. Portanto, se você quiser usar a letra l
novamente em outro programa, receberá uma penalidade de 8 bytes. Depois de pagar a penalidade, você pode usar cada letra o quanto quiser neste programa. Outros personagens não importam. Além disso, todos os 5 programas devem estar no mesmo idioma.
Este é o código-golfe , pelo que ganha menos quantidade de bytes!
fonte
Respostas:
CJam, 73 bytes
Cada linha é um programa completo. Experimente online: 1 | 2 | 3 | 4 | 5
Mapa de cartas
Se desejar (e cada um de seus programas se encaixar em uma linha), você poderá usar este programa CJam para criar um mapa de cartas para seu próprio envio.
fonte
Pitão, 90 bytes
Primeira tentativa...
Tarefa 1: 20 bytes
Tarefa 2, 3 bytes
Tarefa 3, 9 bytes
Tarefa 4, 6 + 8 = 14 bytes
Tarefa 5, 44 bytes
fonte
osascript, 759 bytes
Eu sabia que isso ia ser muito quando eu comecei. oo
Tarefa 1: 15 bytes
Eu sabia que seria ruim a partir deste ponto.
Tarefa 2: 64 + 8 * 4 = 96 bytes
Oh caramba.
Tarefa 3: 170 + 8 * 13 = 274 bytes
Dennis ultrapassou.
Tarefa 4: 225 + 8 * 13 = 329
...
Tarefa 5: 45 bytes
Então sim. Eu sabia que ia perder desde o início. Mas foi interessante, eu estaria interessado em saber se há uma maneira de fazer isso em menos personagens. Mapa de caracteres (fornecido por Dennis):
A contagem de caracteres acima está um pouco diferente - as novas linhas causaram problemas, pois as novas linhas foram contadas.
NOTA: O motivo para não usar coisas semelhantes
a's characters
ou similares é que o'
caractere deve ser usado ao executar a partir da linha de comando osascript. Se eu tivesse usado'
, teria que usar\'
ou algo semelhante, o que não teria me ajudado. Além disso, ele só reconhece"
como capturadores de cordas, então eu também estava ferrado lá. Mas isso foi divertido.fonte
NARS2000 APL, 144 bytes (85 caracteres)
Tarefa 1, 21 bytes (17 caracteres)
Tarefa 2, 10 bytes (4 caracteres)
Tarefa 3, 22 bytes (11 caracteres)
Tarefa 4, 53 bytes (29 caracteres)
Tarefa 5, 38 bytes (24 caracteres)
fonte
⎕
de impressão fora de um REPL.Gelatina , 46 bytes (não concorrente)
Experimente online! (Copie / cole cada snippet)
Aparentemente, a restrição não restringiu o golfe :) Apenas sugestões para o último, é claro, por favor.
fonte