Seu trabalho é gravar um programa que imprime todos os horários (no formato HH: MM, 24 horas) que seguem qualquer um dos seguintes padrões:
- Horas iguais a minutos, por exemplo, 22: 22,01: 01
- Horas iguais a minutos reversos, por exemplo, 10:01, 01:10, 22:22
- Sequências que correspondem a H: MM ou HH: MM, sempre impressas com HH: MM. Por exemplo, 00:12, 01:23, 23:45, 03:45, etc (sempre uma única etapa entre os dígitos)
Regras:
- Você pode escolher qualquer idioma que desejar
- Você não pode imprimir várias vezes
- Uma vez por linha, seguindo a ordem do dia
- O vencedor será escolhido em 5 de fevereiro.
PS: esta é minha primeira pergunta, pode ter algumas inconsistências. Sinta-se livre para editar.
PS2: Aqui estão as 44 soluções esperadas (já apresentadas por Josh e primo, obrigado!)
00:00 00:12 01:01 01:10 01:23 02:02 02:20 02:34 03:03 03:30 03:45 04:04 04:40 04:56 05:05 05:50 06:06 07:07 08:08 09:09 10:01 10:10 11:11 12:12 12:21 12:34 13:13 13:31 14:14 14:41 15:15 15:51 16:16 17:17 18:18 19:19 20:02 20:20 21:12 21:21 22:22 23:23 23:32 23:45
code-golf
kolmogorov-complexity
date
RSFalcon7
fonte
fonte
3:45
seja escrito03:45
emHH:MM
formato e, portanto, não seja uma sequência.13:57
contam como uma seqüência? Que tal6:54
? Na mesma nota,6:42
precisa ser decidido também.00:01
contar como uma sequência?Respostas:
Golfe (
8272)Ainda muito iniciante, mas não havia resposta GS, então ... :)
fonte
PHP - 93 bytes
Isso encontrará padrões como
02:34
, mas não encontrará padrões como00:23
ou00:02
. Se eu entendo os esclarecimentos do OP nos comentários, isso está correto.Imprime um total de 44 resultados:
fonte
C, 118 (inicialmente 136)
Uma versão iterativa com 119 caracteres:
Um grande obrigado a @squeamish ossifrage!
fonte
02:34
). A regra osm-12==h*11
pega.100*h+m==1234||100*h+m==2345
com((m-h)==22)&&!((m-1)%11)
(talvez até com menos parênteses)00:01
. Vou postar a pergunta original para esclarecimentos.Python (178)
Eliminar todos os zeros à esquerda antes das seqüências fornece 57 resultados no total.
fonte
APL (90)
fonte
Javascript - 171 caracteres (2/2/14)!
Estou seriamente pegando o jeito do golfe. Se eu olhar para trás a partir de agora, reduzi quase 30 caracteres! JSBin .
Ungolfed (e comentado):
187 caracteres (Antigo) (2/4/14)
Um pouco de experimentação e melhoria de lote (9 caracteres) :) JSBin
196 caracteres (Antigo) (2/3/14)
Sentou-se com uma mente renovada e melhorou bastante, uma linha :) JSBin .
208 caracteres (Antigo) (2/2/14)
Dá exatamente os 44 tempos necessários (cada um na nova linha)
Continuarei melhorando meu código.
Eu apreciaria muito qualquer feedback. Obrigado.
fonte
Python 3, 248 caracteres
Acho que estou um pouco atrasado e não muito bom também, mas finalmente consegui minha primeira coisa de codegolf a compartilhar:
Decidi suportar apenas sequências reais como 01:23 e 23:45, e não 00:12. De qualquer forma, aposto que há muito para fazer melhor, por isso, vá em frente e compartilhe um comentário comigo.
Tenho a versão muito descritiva junto com ela no meu pastebin
fonte
Delphi
Ainda trabalhando nisso, mas é isso que eu tenho até agora.
Funciona, mas tenho certeza que é possível reduzi-lo.
Editar: imprime 48 vezes.
Sem recuo 422 caracteres
Com recuo 557 caracteres
fonte
q (116)
Incrementa de 00:00 a 23:59, lança para string e depois verifica (teste 1 ou 2) ou 3
Resultado:
fonte
PHP -
563931 bytesNão altera as regras de forma alguma. Você precisa do módulo pecl_http instalado e short_open_tag definido como "1" no php.ini.
fonte
disp(urlread('http://bit.ly/1fzhb3C'))
:)TI-BASIC
Para a sua calculadora TI-84
fonte