Após essa pergunta popular, apresente sua solução que imprime os números de 1 a 1000 (todos eles, não a sequência "1 a 1000" literalmente ou algo engraçado) em C ++ sem usar ponto e vírgula. Diferente da pergunta original, você pode usar condicionais e loops.
Soluções que não exigem nenhum sinalizador de compilador são preferidas. Mencione qualquer um que você usar se for contra isso. O comportamento indefinido é permitido, portanto, especifique o compilador e a versão que você está usando. Será dada preferência a soluções inteligentes. Este não é um concurso de código mais curto.
(Eu tenho uma solução, que postarei em 24 horas se uma solução semelhante não for publicada antes disso.)
Respostas:
fonte
fonte
printf()
O ponto e vírgula não é necessário se você souber a palavra mágica. E não há necessidade de ficar ofuscado.
Minha solução tem a fantasia adicional de que ela também não usa vírgula;)
fonte
Simples e quase idiomático:
fonte
fonte
Isso funciona muito bem na minha máquina Linux:
Eu sei, eu sei ... não é portátil.
fonte
Muito semelhante a outras soluções, mas com uma variação menor: A variável step é declarada na
if
condição:fonte
main()
está implícitoreturn 0;
em C ++.fonte
main
retornaint
, sempreQuase qualquer programa de aparência regular pode fazer (sem a especificação do compilador necessária), como:
pode ser formulado com C ++ iostream de várias maneiras diferentes:
fonte
main
retornaint
sempre.fonte
Tentei inicializar o std :: ofstream, passando-o como um parâmetro (ie
write_code(str, std::ofstream())
), mas, aparentemente, o construtor de cópias é privado, e uma expressão como essa não pode ser passada por referência.fonte
fonte
Experimente online!
fonte
C ++ (gcc) , 57 bytes
Isso tira vantagem de que o número de operandos é sempre 1. (Não é um codegolf, mas eu quero jogar golfe ...)
Thx para @ceilingcat para substituir printf por
__builtin_printf
.Experimente online!
C (gcc) , 43 bytes
Eles também estão postando respostas em C, presumo?
Experimente online!
fonte
fonte
cstdio
,Solução baseada em C ++ 11 usando uma função lambda:
Compila e trabalha:
Bônus 1: Ajustar o intervalo a ser impresso é tão fácil quanto editar os dois parâmetros da chamada.
Bônus 2: Saída finalizada por uma nova linha.
fonte
C ++ com modelos
Notas:
fonte
Sua resposta baseada em recursão comum.
fonte