Em um dado padrão (dado), os números são organizados de modo que faces opostas aumentem para sete. Escreva o programa mais curto possível no seu idioma preferido, que produz um lance aleatório seguido por 9 dicas aleatórias. Uma gorjeta é um quarto de volta dos dados, por exemplo, se os dados estão voltados para 5, todas as gorjetas possíveis são 1,3,4 e 6.
Exemplo de saída desejada:
1532131356
code-golf
random
repeated-transformation
steenslag
fonte
fonte
JavaScript (71 caracteres)
Pode ser necessário substituir
print
poralert
ou algo mais, dependendo do seu ambiente JavaScript.fonte
GolfScript, 28
fonte
Bater
código de exemplo: http://ideone.com/CCfro
fonte
((var=expression))
é muito bom - eu pensei que o caminho mais curto eravar=$((expression))
Mas por que você usa isso apenas uma vez e desperdiça toneladas de caracteres em expr em backticks?R,
5652fonte
Bash com apenas um loop:
100 99 9896http://ideone.com/XrZO7
A idéia principal é que, para escolher um número aleatório em [1, x] que não seja igual a y, você pode escolher um número aleatório em [1, x-1] e depois incrementar se for> = y. Para esse problema, queremos um número aleatório em [1,6] que não seja igual a f ou 7-f. Temos que fazer os dois testes na ordem min (f, 7-f), max (f, 7-f).
Supondo que um ambiente inicialmente vazio possa salvar 2 caracteres, não inicializando ie alterando a condição do loop para
i++<10
fonte
Bash:
97 94 92 90 8987Golfe pesado com a resposta de Aman ZeeK Verma:
http://ideone.com/QiuTx
NB, sem dúvida, pode ser reduzido em 5 caracteres, alterando a primeira linha para,
for((;i++<10;))
mas isso faz suposições que nem sempre são válidas. Funcionaria bem no ideone, mas alguém executando-o a partir de um shell poderia teri
ouf
exportado para algo diferente de zero.fonte
man bash
, eu recomendo. Uma vez eu li de capa a capa, e apenas ter uma vaga idéia do que é possível e vale a pena procurar me serviu bem.Windows PowerShell, 45
Bastante trivial, na verdade. Gero uma lista de possíveis jogadas de dados
1..6
e, em seguida, seleciono apenas aquelas que não são iguais a sete menos o último jogo e, em seguida, apenas aquelas que não são iguais ao último jogo. Na lista restante, seleciono um item aleatório e o atribuo$d
. Uma vez que$d
é tratado inicialmente,0
ele lança um dado normal pela primeira vez.Script de teste:
História:
fonte
The term 'random' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
Get-Random
cmdlet não existia na v1.J
Isso deve funcionar, mas infelizmente o gerador aleatório de J fica bloqueado após a 3ª iteração:
6 4 5 4 5 4 5 4 5 4
fonte
(?4)
tende a ser rolado uma vez e tratado como uma constante para iterações subseqüentes, se você não for cuidadoso com isso. Eu trabalhei em torno dele usando uma(?@4:)
construção semelhante.Rubi
66 caracteres
fonte
J, 30 caracteres
6 2 3 5 4 2 4 1 3 6
Explicações (leia da direita para a esquerda):
?6
retorna um número aleatório entre 0 e 5^:(<10)
aplica uma função 9 vezes, acumulando os resultados ao longo do caminho. A função é:?@4:{(i.6)-.],5&-
] , 5&-
retorna uma matriz do número de entrada e seu complemento para 5 (atualmente estamos lidando com números baseados em 0, então a soma das faces opostas é 5)(i. 6) -.
remove-os do conjunto completo de números inteiros de 0 a 5. Ficamos com todas as posições válidas após uma única operação de inclinação da posição de entrada.?@4: {
escolhe um deles aleatoriamente.>:
incrementa a sequência inteira para retornar as figuras ao intervalo de 1 a 6.fonte
GS2, 16 bytes
Veja como funciona
fonte
QBasic (71 caracteres)
As duas novas linhas são necessárias e incluídas na contagem de caracteres como um caractere cada.
fonte
TI-BASIC,
3834Solução chata, mas é mais curta que a revisão anterior. Aproveito o fato de que, em uma calculadora nova,
Ans
é inicializado como zero.fonte
Java 8, 130 bytes
Experimente aqui.
Como programa completo com o método principal detalhado, seriam 178 bytes :
Experimente aqui.
Semi-porto da resposta Bash de @AmanZeeKVerma .
Explicação:
fonte
MATLAB 58 bytes
fonte
> <> , 71 bytes
Estou feliz por poder mostrar a
x
randomização de ponteiro de código de > <>, pois não me lembro de vê-la aqui.Você pode experimentá-lo neste intérprete online (colar código, enviar, iniciar).
fonte
R , 67 bytes
Experimente online!
Existe uma resposta de golfista R, mas acho que é uma abordagem diferente das respostas enviadas até agora.
fonte
05AB1E , 23 bytes
Definitivamente posso jogar golfe, mas atualmente não estou vendo isso ..
Experimente online.
Explicação:
fonte