Siguiendo esta pregunta popular, presente su solución que imprime los números del 1 al 1000 (todos ellos, no la cadena "1 al 1000" textualmente o algo gracioso) en C ++ sin utilizar ningún punto y coma. A diferencia de la pregunta original, puede usar condicionales y bucles.
Se prefieren las soluciones que no requieren ningún indicador del compilador. Por favor mencione cualquiera que use si va en contra de esto. Se permite un comportamiento indefinido, por lo tanto, especifique el compilador y la versión que está utilizando. Se dará preferencia a soluciones inteligentes. Este no es un concurso de código más corto.
(Tengo una solución, que publicaré en 24 horas si no se publica una solución similar antes de eso).
Respuestas:
fuente
fuente
printf()
El punto y coma no es necesario si conoces la palabra mágica. Y no hay necesidad de ir ofuscado.
Mi solución tiene la fantasía adicional de que tampoco usa ninguna coma;)
fuente
Simple y casi idiomático:
fuente
fuente
Esto funciona muy bien en mi máquina Linux:
Lo sé, lo sé ... no es portátil.
fuente
Muy similar a otras soluciones, pero con una variación menor: la variable de paso se declara en la
if
condición:fuente
main()
tiene implícitoreturn 0;
en C ++.fuente
main
int
siempre regresaCasi cualquier programa de aspecto normal puede hacer, (no es necesaria la especificación del compilador), como:
puede formularse con C ++ iostream de muchas maneras diferentes:
fuente
main
vuelveint
, siempre.fuente
Traté de inicializar std :: ofstream out pasándolo como un parámetro (es decir
write_code(str, std::ofstream())
), pero aparentemente, el constructor de la copia es privado, y una expresión como esta no se puede pasar por referencia.fuente
fuente
Pruébalo en línea!
fuente
C ++ (gcc) , 57 bytes
Esto aprovecha que el número de operandos es siempre 1. (No es un codegolf, pero quiero jugar golf ...)
Gracias a @ceilingcat para reemplazar printf con
__builtin_printf
.Pruébalo en línea!
C (gcc) , 43 bytes
También están publicando respuestas C, supongo.
Pruébalo en línea!
fuente
fuente
cstdio
,Solución basada en C ++ 11 que utiliza una función lambda:
Compila y trabaja:
Bono 1: ajustar el rango a imprimir es tan fácil como editar los dos parámetros de la llamada.
Bonus 2: Salida terminada por una nueva línea.
fuente
C ++ con plantillas
Notas:
fuente
Su respuesta basada en la recursión run-o'-the-mill.
fuente