Suite à cette question populaire, présentez votre solution qui imprime les nombres 1 à 1000 (tous, pas la chaîne "1 à 1000" textuellement ou quelque chose de drôle) en C ++ sans utiliser de point-virgule. Contrairement à la question d'origine, vous pouvez utiliser des conditions et des boucles.
Les solutions ne nécessitant aucun indicateur de compilation sont préférées. Veuillez mentionner ceux que vous utilisez si vous vous y opposez. Un comportement non défini est autorisé, veuillez donc spécifier le compilateur et la version que vous utilisez. La préférence sera donnée aux solutions intelligentes. Ce n'est pas un concours de code le plus court.
(J'ai une solution, que je publierai dans 24 heures si une solution similaire n'est pas publiée avant.)
Réponses:
la source
la source
printf()
Le point-virgule n'est pas nécessaire si vous connaissez le mot magique. Et pas besoin de se cacher.
Ma solution a la fantaisie supplémentaire de ne pas utiliser de virgule non plus;)
la source
Simple et presque idiomatique:
la source
la source
Cela fonctionne très bien sur ma machine Linux:
Je sais, je sais, ... ce n'est pas portable.
la source
Très similaire à d'autres solutions, mais avec une variation mineure: la variable step est déclarée dans la
if
condition:la source
main()
a implicitereturn 0;
en C ++.la source
main
revientint
, toujoursPresque n'importe quel programme régulier peut le faire (aucune spécification de compilateur n'est nécessaire), comme:
peut être formulé avec C ++ iostream de différentes manières:
la source
main
revientint
, toujours.la source
J'ai essayé d'initialiser std :: ofstream out en le passant comme paramètre (ie
write_code(str, std::ofstream())
), mais apparemment, le constructeur de copie est privé, et une expression comme celle-ci ne peut pas être passée par référence.la source
la source
Essayez-le en ligne!
la source
C ++ (gcc) , 57 octets
Cela profite au fait que le nombre d'opérandes est toujours 1. (Pas un codegolf, mais je veux le jouer au golf ...)
Merci à @ceilingcat pour remplacer printf par
__builtin_printf
.Essayez-le en ligne!
C (gcc) , 43 octets
Ils affichent également des réponses C, je suppose?
Essayez-le en ligne!
la source
la source
cstdio
,Solution basée sur C ++ 11 utilisant une fonction lambda:
Compile et travaille:
Bonus 1: Ajuster la plage à imprimer est aussi simple que d'éditer les deux paramètres de l'appel.
Bonus 2: sortie terminée par une nouvelle ligne.
la source
C ++ avec des modèles
Remarques:
la source
Votre réponse basée sur la récursivité run-o'-the-mill.
la source