Stellen Sie nach dieser beliebten Frage Ihre Lösung vor, die die Zahlen 1 bis 1000 (alle, nicht die Zeichenfolge "1 bis 1000" wörtlich oder etwas Lustiges) in C ++ ohne Semikolons ausgibt. Im Gegensatz zur ursprünglichen Frage können Sie Bedingungen und Schleifen verwenden.
Lösungen, die keine Compiler-Flags erfordern, werden bevorzugt. Bitte erwähnen Sie alle, die Sie verwenden, wenn Sie dagegen vorgehen. Undefiniertes Verhalten ist zulässig. Geben Sie daher bitte den Compiler und die Version an, die Sie verwenden. Clevere Lösungen werden bevorzugt. Dies ist kein kürzester Code-Wettbewerb.
(Ich habe eine Lösung, die ich in 24 Stunden veröffentlichen werde, wenn eine ähnliche Lösung vorher nicht veröffentlicht wurde.)
Antworten:
quelle
quelle
printf()
Das Semikolon wird nicht benötigt, wenn Sie das Zauberwort kennen. Und keine Notwendigkeit, verschleiert zu gehen.
Meine Lösung hat die zusätzliche Fantasie, dass sie auch kein Komma verwendet;)
quelle
Einfach und fast idiomatisch:
quelle
quelle
Auf meinem Linux-Computer funktioniert das hervorragend:
Ich weiß, ich weiß, ... es ist nicht tragbar.
quelle
Sehr ähnlich zu anderen Lösungen, jedoch mit einer geringfügigen Abweichung: Die Schrittvariable wird in der
if
Bedingung deklariert :quelle
main()
hatreturn 0;
in C ++ implizit .quelle
main
kehrtint
immer zurückFast jedes normal aussehende Programm kann (keine Compiler-Spezifikation erforderlich):
kann mit C ++ iostream auf viele verschiedene Arten formuliert werden:
quelle
main
kehrtint
immer zurück.quelle
Ich habe versucht, std :: ofstream out zu initialisieren, indem ich es als Parameter (dh
write_code(str, std::ofstream())
) übergeben habe, aber anscheinend ist der Kopierkonstruktor privat, und ein Ausdruck wie dieser kann nicht als Referenz übergeben werden.quelle
quelle
Probieren Sie es online!
quelle
C ++ (gcc) , 57 Bytes
Dies nutzt den Vorteil, dass die Anzahl der Operanden immer 1 ist. (Kein Codegolf, aber ich möchte Golf spielen ...)
Vielen Dank an @ceilingcat für das Ersetzen von printf durch
__builtin_printf
.Probieren Sie es online!
C (gcc) , 43 Bytes
Sie posten auch C-Antworten, nehme ich an?
Probieren Sie es online!
quelle
quelle
cstdio
,C ++ 11-basierte Lösung mit Lambda-Funktion:
Kompiliert und arbeitet:
Bonus 1: Das Einstellen des zu druckenden Bereichs ist so einfach wie das Bearbeiten der beiden Parameter des Anrufs.
Bonus 2: Ausgabe durch eine neue Zeile beendet.
quelle
C ++ mit Vorlagen
Anmerkungen:
quelle
Ihre rekursionsbasierte Antwort.
quelle