Schreiben Sie ein Programm, das immer N ausgibt, wenn es N-mal im ASCII-Alphabet verschoben wird


16

Schreiben Sie ein Programm, das nur druckbare ASCII-Zeichen verwendet , für die keine Eingabe erforderlich ist. Als Referenz sind hier die 95 druckbaren ASCII-Zeichen in der Reihenfolge:

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

Wenn Ihr Programm ausgeführt wird, sollte es 0(zuzüglich einer optionalen nachgestellten Zeile) stdout ausgeben und dann normal beenden.

Wenn jedes Zeichen in Ihrem Programm in druckbarem ASCII durch das Zeichen N rechts daneben ersetzt wird und von einem Zeichen zum nächsten eine Schleife ~durchläuft, ist die resultierende druckbare ASCII-Zeichenfolge idealerweise ein Programm, das in derselben Sprache ausgeführt werden kann und keine Eingabe und Ausgabe von N (plus) benötigt ein optionaler abschließender Zeilenumbruch) zu stdout und endet dann normal für N = 1 bis 94.

Zum Beispiel, wenn Ihr ursprüngliches Programm war

@Cat~(88 !)

Wenn Sie es ausführen, sollten Sie 0alle Zeichen der druckbaren ASCII-Skala um eins nach oben verschieben

ADbu )99!"*

sollte zu einem anderen Programm führen, das ausgibt 1. Wenn Sie dies erneut tun, wird im Idealfall ein anderes Programm ausgegeben2

BEcv!*::"#+

und so weiter mit 3 und 4 usw. bis zu einer 94-fachen Verschiebung

?B`s}'77~ (

Das ist im Idealfall ein Programm, das ausgibt 94.

Die Erleichterung ist, dass dies nur das ideale Verhalten ist. Ihr Programm und seine 94 Derivate müssen nicht alle funktionieren, aber je mehr Sie von Anfang an nacheinander ausführen, desto besser. (Programme, die nicht funktionieren, verhalten sich möglicherweise überhaupt nicht.)

Wertung

Ihre Punktzahl ist die Anzahl der aufeinanderfolgenden Programme ab dem Original (dasjenige, das ausgibt 0), das funktioniert, dh, Sie geben das entsprechende N korrekt aus. Die Antwort mit der höchsten Punktzahl (maximal 95) gewinnt. Bei Gleichstand gewinnt das Programm mit der kürzesten Länge in Bytes.

Wenn zum Beispiel @Cat~(88 !)Ausgang 0und ADbu )99!"*Ausgang 1aber BEcv!*::"#+errored, dann würden Ihre Gäste 2 sein 2 Es ist , auch wenn ?B`s}'77~ (genau Ausgänge 94und auch wenn alle Programme für N = 30 bis 40 gearbeitet. Es wird nur die fortlaufende Anzahl von Arbeitsprogrammen beginnend bei Null gezählt.

Anmerkungen

  • Um potenziellen Konflikten und Lücken entgegenzuwirken, müssen konkurrierende Antworten ihre Zahlen in Dezimalzahlen ohne führende Nullen oder Vorzeichen oder Dezimalstellen (z. B. einfach 0 1 2... 94) ausgeben .
  • Sprachen, die unterschiedliche Grundlagen oder Zahlenformate verwenden, sind zulässig, jedoch nicht gewinnberechtigt.
  • Das Vorhandensein einer optionalen nachgestellten Zeile muss nicht programmübergreifend konsistent sein.
  • Funktionen und REPL-Befehle sind nicht erlaubt, nur vollständige Programme.

Ist es in Ordnung zu haben ans = 0?
Stewie Griffin

@StewieGriffin Tut mir leid, aber um mit der ersten Note mitzuhalten, sollte sie normal 0auf stdout gedruckt sein. Sie können jedoch eine nicht konkurrenzfähige Antwort geben.
Calvins Hobbys

1
Ich denke, wir sollten dieses Problem mit den folgenden zwei zusätzlichen Einschränkungen wiederholen: 1) Das Programm muss in einer Sprache geschrieben sein, deren Compiler oder Interpreter ungültige Syntax ohne explizite Kommentarbegrenzer nicht ignoriert, und 2) jede Iteration des Programms muss eine explizite verwenden Erklärung drucken, um die Antwort aufzuschreiben. Dies würde die Herausforderung aussagekräftiger machen und, wie ich vermute, zu mehr Antworten in C-ähnlichen Sprachen führen, von denen ich annehme, dass Sie diese Herausforderung gewünscht haben.
Joe Z.

1
So wie es ist, scheinen alle Antworten eine Variation von "Wiederhole die gleiche Aussage 95 Mal, außer dass 94 von ihnen aufgrund einer syntaktischen Eigenart ignoriert werden" zu sein. Das ist nicht interessant.
Joe Z.

@JoeZ. Ja. Beim Schreiben habe ich diese Art von Programm nicht berücksichtigt. Sie können gerne eine neue ähnliche Herausforderung posten.
Calvins Hobbys

Antworten:


29

Ook! 95 Programme, 19992 14066 Bytes

Ook!Ook!Ook!Ook?Ook.Ook?Ook.Ook.Ook?Ook.Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook?Ook!Ook.Ook?Ook!Ook!Ook!Ook!Ook!Ook!Ook!Ook.NJ_.NJ_.NJ_.NJ}.NJl.NJ}.NJl.NJl.NJ}.NJl.NJ_.NJ_.NJ_.NJ_.NJ_.NJ_.NJ_.NJ_.NJ_.NJ_.NJ}.NJ_.NJl.NJ}.NJ_.NJl.NJ_.NJl-)>l-)>l-)>l-)\l-)Kl-)\l-)Kl-)Kl-)\l-)Kl-)>l-)>l-)>l-)>l-)>l-)>l-)>l-)>l-)>l-)>l-)\l-)>l-)Kl-)\l-)Kl-)Kl-)Kl-)Kl-)Kl-)Kl-)>l-)Kl-)>l-)Kkg|Kkg|Kkg|Kkg;Kkg*Kkg;Kkg*Kkg*Kkg;Kkg*Kkg|Kkg|Kkg|Kkg|Kkg|Kkg|Kkg|Kkg|Kkg|Kkg|Kkg;Kkg|Kkg*Kkg;Kkg*Kkg*Kkg|Kkg*JF[*JF[*JF[*JFy*JFh*JFy*JFh*JFh*JFy*JFh*JF[*JF[*JF[*JF[*JF[*JF[*JF[*JF[*JF[*JF[*JFy*JF[*JFh*JFy*JF[*JFh*JFh*JFh*JFh*JFh*JFh*JFh*JFh*JFh*JF[*JFh)%Gh)%Xh)%:h)%:h)%:h)%Xh)%Gh)%Gh)%Gh)%Gh)%Gh)%Xh)%Gh)%Gh)%:h)%Xh)%Gh)%Gh)%Xh)%Gh)%Xh)%:h)%Gh)%Xh)%Xh)%:h)%Gh)%Xh)%:h)%:h)%:h)%Gh)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%:h)%Ggc&Ggc7GgcxGgcxGgcxGgc7Ggc&Ggc&Ggc&Ggc&Ggc&Ggc7Ggc&Ggc&GgcxGgc7Ggc&Ggc&Ggc7Ggc&Ggc7GgcxGgc&Ggc7Ggc7GgcxGgc&Ggc7GgcxGgc&FBW&FBW&FBW&FBu&FBd&FBu&FBd&FBd&FBu&FBd&FBW&FBW&FBW&FBW&FBW&FBW&FBW&FBW&FBW&FBW&FBu&FBW&FBd&FBu&FBd&FBd&FBW&FBd&FBW&FBW&FBW&FBW&FBW&FBW&FBW&FBd%!Cd%!Td%!6d%!6d%!6d%!Td%!Cd%!Cd%!Cd%!Cd%!Cd%!Td%!Cd%!Cd%!6d%!Td%!Cd%!Cd%!Td%!Cd%!Td%!6d%!Cd%!Td%!Td%!6d%!Cd%!Td%!6d%!6d%!6d%!Cd%!6d%!6d%!6d%!6d%!6d%!6d%!6d%!Cc_tCc_tCc_tCc_3Cc_"Cc_3Cc_"Cc_"Cc_3Cc_"Cc_tCc_tCc_tCc_tCc_tCc_tCc_tCc_tCc_tCc_tCc_3Cc_tCc_"Cc_3Cc_tCc_tCc_tCc_tCc_tCc_"Cc_"Cc_"Cc_tCc_"B>S"B>S"B>S"B>q"B>`"B>q"B>`"B>`"B>q"B>`"B>S"B>S"B>S"B>S"B>S"B>S"B>S"B>S"B>S"B>S"B>q"B>S"B>`"B>q"B>`"B>`"B>S"B>`"B>`"B>`"B>S"B>`!|?`!|P`!|2`!|2`!|2`!|P`!|?`!|?`!|?`!|?`!|?`!|P`!|?`!|?`!|2`!|P`!|?`!|?`!|P`!|?`!|P`!|2`!|?`!|P`!|P`!|2`!|?`!|P`!|2`!|2`!|2`!|?`!|?`!|?`!|2`!|?_[p?_[p?_[p?_[/?_[}?_[/?_[}?_[}?_[/?_[}?_[p?_[p?_[p?_[p?_[p?_[p?_[p?_[p?_[p?_[p?_[/?_[p?_[}?_[/?_[p?_[p?_[p?_[p?_[p?_[}?_[}?_[}?_[}?_[}?_[}?_[}?_[}?_[}?_[}?_[}?_[p?_[}>:O}>:O}>:O}>:m}>:\}>:m}>:\}>:\}>:m}>:\}>:O}>:O}>:O}>:O}>:O}>:O}>:O}>:O}>:O}>:O}>:m}>:O}>:\}>:m}>:\}>:\}>:O}>:\}>:\}>:\}>:\}>:\}>:\}>:\}>:\}>:\}>:\}>:\}>:O}>:\|x;\|xL\|x.\|x.\|x.\|xL\|x;\|x;\|x;\|x;\|x;\|xL\|x;\|x;\|x.\|xL\|x;\|x;\|xL\|x;\|xL\|x.\|x;\|xL\|xL\|x.\|x;\|xL\|x.\|x;\|x.\|x.\|x.\|x.\|x.\|x.\|x.\|x.\|x.\|x.\|x.\|x.\|x.\|x;[Wl;[Wl;[Wl;[W+;[Wy;[W+;[Wy;[Wy;[W+;[Wy;[Wl;[Wl;[Wl;[Wl;[Wl;[Wl;[Wl;[Wl;[Wl;[Wl;[W+;[Wl;[Wy;[W+;[Wl;[Wl;[Wl;[Wy;[Wl;[Wl;[Wl;[Wl;[Wl;[Wy:6Ky:6Ky:6Ky:6iy:6Xy:6iy:6Xy:6Xy:6iy:6Xy:6Ky:6Ky:6Ky:6Ky:6Ky:6Ky:6Ky:6Ky:6Ky:6Ky:6iy:6Ky:6Xy:6iy:6Xy:6Xy:6Xy:6Xy:6Ky:6Xy:6Ky:6Ky:6Ky:6Ky:6Ky:6Xxt7XxtHXxt*Xxt*Xxt*XxtHXxt7Xxt7Xxt7Xxt7Xxt7XxtHXxt7Xxt7Xxt*XxtHXxt7Xxt7XxtHXxt7XxtHXxt*Xxt7XxtHXxtHXxt*Xxt7XxtHXxt*Xxt7Xxt*Xxt*Xxt*Xxt*Xxt*Xxt7WSh7WSh7WSh7WS'7WSu7WS'7WSu7WSu7WS'7WSu7WSh7WSh7WSh7WSh7WSh7WSh7WSh7WSh7WSh7WSh7WS'7WSh7WSu7WS'7WSh7WSh7WSh7WSu7WSu7WSu7WSu7WSu7WSh7WSu62Gu62Gu62Gu62eu62Tu62eu62Tu62Tu62eu62Tu62Gu62Gu62Gu62Gu62Gu62Gu62Gu62Gu62Gu62Gu62eu62Gu62Tu62eu62Tu62Tu62Tu62Tu62Gu62Tu62Tu62Tu62Tu62Tu62Gu62Ttp3TtpDTtp&Ttp&Ttp&TtpDTtp3Ttp3Ttp3Ttp3Ttp3TtpDTtp3Ttp3Ttp&TtpDTtp3Ttp3TtpDTtp3TtpDTtp&Ttp3TtpDTtpDTtp&Ttp3TtpDTtp3Ttp3Ttp&Ttp3Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp&Ttp3SOd3SOd3SOd3SO#3SOq3SO#3SOq3SOq3SO#3SOq3SOd3SOd3SOd3SOd3SOd3SOd3SOd3SOd3SOd3SOd3SO#3SOd3SOq3SO#3SOd3SOd3SOd3SOq3SOq3SOq3SOq3SOq3SOq3SOq3SOq3SOq3SOq3SOq3SOq3SOq3SOd3SOq2.Cq2.Cq2.Cq2.aq2.Pq2.aq2.Pq2.Pq2.aq2.Pq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.aq2.Cq2.Pq2.aq2.Pq2.Pq2.Pq2.Pq2.Pq2.Pq2.Cq2.Pq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Cq2.Ppl/Ppl@Ppl"Ppl"Ppl"Ppl@Ppl/Ppl/Ppl/Ppl/Ppl/Ppl@Ppl/Ppl/Ppl"Ppl@Ppl/Ppl/Ppl@Ppl/Ppl@Ppl"Ppl/Ppl@Ppl@Ppl"Ppl/Ppl@Ppl/Ppl/Ppl"Ppl/Ppl"Ppl"Ppl"Ppl"Ppl"Ppl"Ppl"Ppl"Ppl"Ppl"Ppl"Ppl/OK`/OK`/OK`/OK~/OKm/OK~/OKm/OKm/OK~/OKm/OK`/OK`/OK`/OK`/OK`/OK`/OK`/OK`/OK`/OK`/OK~/OK`/OKm/OK~/OK`/OKm/OK`/OK`/OK`/OKm.*?m.*?m.*?m.*]m.*Lm.*]m.*Lm.*Lm.*]m.*Lm.*?m.*?m.*?m.*?m.*?m.*?m.*?m.*?m.*?m.*?m.*]m.*?m.*Lm.*]m.*Lm.*Lm.*Lm.*Lm.*Lm.*Lm.*?m.*Lm.*?m.*?m.*?m.*Llh}Llh}Llh}Llh<Llh+Llh<Llh+Llh+Llh<Llh+Llh}Llh}Llh}Llh}Llh}Llh}Llh}Llh}Llh}Llh}Llh<Llh}Llh+Llh<Llh}Llh+KG\+KG\+KG\+KGz+KGi+KGz+KGi+KGi+KGz+KGi+KG\+KG\+KG\+KG\+KG\+KG\+KG\+KG\+KG\+KG\+KGz+KG\+KGi+KGz+KG\+KGi+KGi+KGi+KGi+KGi+KGi+KGi+KG\+KGi*&;i*&;i*&;i*&Yi*&Hi*&Yi*&Hi*&Hi*&Yi*&Hi*&;i*&;i*&;i*&;i*&;i*&;i*&;i*&;i*&;i*&;i*&Yi*&;i*&Hi*&Yi*&Hi*&Hi*&Hi*&Hi*&Hi*&Hi*&;i*&Hi*&Hi*&Hi*&Hi*&Hi*&Hi*&Hi*&;i*&Hhd'Hhd8HhdyHhdyHhdyHhd8Hhd'Hhd'Hhd'Hhd'Hhd'Hhd8Hhd'Hhd'HhdyHhd8Hhd'Hhd'Hhd8Hhd'Hhd8HhdyHhd'Hhd8Hhd8HhdyHhd'Hhd8HhdyHhdyHhdyHhd'GCX'GCX'GCX'GCv'GCe'GCv'GCe'GCe'GCv'GCe'GCX'GCX'GCX'GCX'GCX'GCX'GCX'GCX'GCX'GCX'GCv'GCX'GCe'GCv'GCe'GCe'GCX'GCe'GCX'GCX'GCX'GCX'GCX'GCX'GCX'GCX'GCX'GCe&"De&"Ue&"7e&"7e&"7e&"Ue&"De&"De&"De&"De&"De&"Ue&"De&"De&"7e&"Ue&"De&"De&"Ue&"De&"Ue&"7e&"De&"Ue&"Ue&"7e&"De&"Ue&"7e&"7e&"7e&"De&"7e&"7e&"7e&"7e&"7e&"7e&"7e&"7e&"7e&"Dd`uDd`uDd`uDd`4Dd`#Dd`4Dd`#Dd`#Dd`4Dd`#Dd`uDd`uDd`uDd`uDd`uDd`uDd`uDd`uDd`uDd`uDd`4Dd`uDd`#Dd`4Dd`uDd`uDd`uDd`uDd`uDd`#Dd`uDd`#C?T#C?T#C?T#C?r#C?a#C?r#C?a#C?a#C?r#C?a#C?T#C?T#C?T#C?T#C?T#C?T#C?T#C?T#C?T#C?T#C?r#C?T#C?a#C?r#C?a#C?a#C?T#C?a#C?T#C?a"}@a"}Qa"}3a"}3a"}3a"}Qa"}@a"}@a"}@a"}@a"}@a"}Qa"}@a"}@a"}3a"}Qa"}@a"}@a"}Qa"}@a"}Qa"}3a"}@a"}Qa"}Qa"}3a"}@a"}Qa"}3a"}3a"}3a"}@a"}3a"}@`\q@`\q@`\q@`\0@`\~@`\0@`\~@`\~@`\0@`\~@`\q@`\q@`\q@`\q@`\q@`\q@`\q@`\q@`\q@`\q@`\0@`\q@`\~@`\0@`\q@`\q@`\q@`\q@`\q@`\~@`\~@`\~@`\~@`\~@`\~@`\~@`\~@`\~@`\q@`\~?;P~?;P~?;P~?;n~?;]~?;n~?;]~?;]~?;n~?;]~?;P~?;P~?;P~?;P~?;P~?;P~?;P~?;P~?;P~?;P~?;n~?;P~?;]~?;n~?;]~?;]~?;P~?;]~?;]~?;]~?;]~?;]~?;]~?;]~?;]~?;]~?;P~?;]}y<]}yM]}y/]}y/]}y/]}yM]}y<]}y<]}y<]}y<]}y<]}yM]}y<]}y<]}y/]}yM]}y<]}y<]}yM]}y<]}yM]}y/]}y<]}yM]}yM]}y/]}y<]}yM]}y/]}y<]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y/]}y<\Xm<\Xm<\Xm<\X,<\Xz<\X,<\Xz<\Xz<\X,<\Xz<\Xm<\Xm<\Xm<\Xm<\Xm<\Xm<\Xm<\Xm<\Xm<\Xm<\X,<\Xm<\Xz<\X,<\Xm<\Xm<\Xm<\Xm<\Xm<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xz<\Xm<\Xz;7Lz;7Lz;7Lz;7jz;7Yz;7jz;7Yz;7Yz;7jz;7Yz;7Lz;7Lz;7Lz;7Lz;7Lz;7Lz;7Lz;7Lz;7Lz;7Lz;7jz;7Lz;7Yz;7jz;7Yz;7Yz;7Yz;7Yz;7Lz;7Yz;7Lz;7Lz;7Lz;7Lz;7Lz;7Lz;7Lz;7Yyu8YyuIYyu+Yyu+Yyu+YyuIYyu8Yyu8Yyu8Yyu8Yyu8YyuIYyu8Yyu8Yyu+YyuIYyu8Yyu8YyuIYyu8YyuIYyu+Yyu8YyuIYyuIYyu+Yyu8YyuIYyu+Yyu8Yyu+Yyu+Yyu+Yyu+Yyu+Yyu+Yyu+Yyu8XTi8XTi8XTi8XT(8XTv8XT(8XTv8XTv8XT(8XTv8XTi8XTi8XTi8XTi8XTi8XTi8XTi8XTi8XTi8XTi8XT(8XTi8XTv8XT(8XTi8XTi8XTi8XTv8XTv8XTv8XTi8XTv73Hv73Hv73Hv73fv73Uv73fv73Uv73Uv73fv73Uv73Hv73Hv73Hv73Hv73Hv73Hv73Hv73Hv73Hv73Hv73fv73Hv73Uv73fv73Uv73Uv73Uv73Uv73Hv73Uv73Uv73Uv73Hv73Uuq4UuqEUuq'Uuq'Uuq'UuqEUuq4Uuq4Uuq4Uuq4Uuq4UuqEUuq4Uuq4Uuq'UuqEUuq4Uuq4UuqEUuq4UuqEUuq'Uuq4UuqEUuqEUuq'Uuq4UuqEUuq'Uuq4Uuq4Uuq4Uuq'Uuq4TPe4TPe4TPe4TP$4TPr4TP$4TPr4TPr4TP$4TPr4TPe4TPe4TPe4TPe4TPe4TPe4TPe4TPe4TPe4TPe4TP$4TPe4TPr4TP$4TPe4TPe4TPe4TPr4TPr4TPr4TPr4TPr4TPr4TPr4TPr4TPr4TPr4TPr4TPe4TPr3/Dr3/Dr3/Dr3/br3/Qr3/br3/Qr3/Qr3/br3/Qr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/br3/Dr3/Qr3/br3/Qr3/Qr3/Qr3/Qr3/Qr3/Qr3/Dr3/Qr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Dr3/Qqm0QqmAQqm#Qqm#Qqm#QqmAQqm0Qqm0Qqm0Qqm0Qqm0QqmAQqm0Qqm0Qqm#QqmAQqm0Qqm0QqmAQqm0QqmAQqm#Qqm0QqmAQqmAQqm#Qqm0QqmAQqm0Qqm0Qqm#Qqm0Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm#Qqm0PLa0PLa0PLa0PL 0PLn0PL 0PLn0PLn0PL 0PLn0PLa0PLa0PLa0PLa0PLa0PLa0PLa0PLa0PLa0PLa0PL 0PLa0PLn0PL 0PLa0PLn0PLa0PLa0PLa0PLa0PLa0PLn/+@n/+@n/+@n/+^n/+Mn/+^n/+Mn/+Mn/+^n/+Mn/+@n/+@n/+@n/+@n/+@n/+@n/+@n/+@n/+@n/+@n/+^n/+@n/+Mn/+^n/+Mn/+Mn/+Mn/+Mn/+Mn/+Mn/+@n/+Mn/+@n/+@n/+@n/+@n/+@n/+Mmi~Mmi~Mmi~Mmi=Mmi,Mmi=Mmi,Mmi,Mmi=Mmi,Mmi~Mmi~Mmi~Mmi~Mmi~Mmi~Mmi~Mmi~Mmi~Mmi~Mmi=Mmi~Mmi,Mmi=Mmi~Mmi~Mmi~Mmi,LH],LH],LH],LH{,LHj,LH{,LHj,LHj,LH{,LHj,LH],LH],LH],LH],LH],LH],LH],LH],LH],LH],LH{,LH],LHj,LH{,LH],LHj,LHj,LHj,LHj,LHj,LH],LHj+'<j+'<j+'<j+'Zj+'Ij+'Zj+'Ij+'Ij+'Zj+'Ij+'<j+'<j+'<j+'<j+'<j+'<j+'<j+'<j+'<j+'<j+'Zj+'<j+'Ij+'Zj+'Ij+'Ij+'Ij+'Ij+'Ij+'Ij+'<j+'Ij+'Ij+'Ij+'Ij+'Ij+'<j+'IiezIiezIiezIie9Iie(Iie9Iie(Iie(Iie9Iie(IiezIiezIiezIiezIiezIiezIiezIiezIiezIiezIie9IiezIie(Iie9Iie(Iie(Iie(Iie(Iie(Iie(IiezIie(HDY(HDY(HDY(HDw(HDf(HDw(HDf(HDf(HDw(HDf(HDY(HDY(HDY(HDY(HDY(HDY(HDY(HDY(HDY(HDY(HDw(HDY(HDf(HDw(HDY(HDf(HDf(HDf(HDf(HDf(HDf(HDf(HDf(HDf(HDf(HDf(HDf(HDf(HDY(HDf'#Ef'#Vf'#8f'#8f'#8f'#Vf'#Ef'#Ef'#Ef'#Ef'#Ef'#Vf'#Ef'#Ef'#8f'#Vf'#Ef'#Ef'#Vf'#Ef'#Vf'#8f'#Ef'#Vf'#Vf'#8f'#Ef'#Vf'#8f'#8f'#8f'#Ef'#8f'#8f'#8f'#8f'#8f'#8f'#8f'#8f'#8f'#8f'#8f'#EeavEeavEeavEea5Eea$Eea5Eea$Eea$Eea5Eea$EeavEeavEeavEeavEeavEeavEeavEeavEeavEeavEea5EeavEea$Eea5EeavEeavEeavEeavEeavEea$EeavEeavEeavEea$D@U$D@U$D@U$D@s$D@b$D@s$D@b$D@b$D@s$D@b$D@U$D@U$D@U$D@U$D@U$D@U$D@U$D@U$D@U$D@U$D@s$D@U$D@b$D@s$D@b$D@b$D@U$D@b$D@U$D@U$D@U$D@b#~Ab#~Rb#~4b#~4b#~4b#~Rb#~Ab#~Ab#~Ab#~Ab#~Ab#~Rb#~Ab#~Ab#~4b#~Rb#~Ab#~Ab#~Rb#~Ab#~Rb#~4b#~Ab#~Rb#~Rb#~4b#~Ab#~Rb#~4b#~4b#~4b#~Ab#~4b#~4b#~4b#~Aa]rAa]rAa]rAa]1Aa] Aa]1Aa] Aa] Aa]1Aa] Aa]rAa]rAa]rAa]rAa]rAa]rAa]rAa]rAa]rAa]rAa]1Aa]rAa] Aa]1Aa]rAa]rAa]rAa]rAa]rAa] Aa] Aa] Aa] Aa] Aa] Aa] Aa]rAa] @<Q @<Q @<Q @<o @<^ @<o @<^ @<^ @<o @<^ @<Q @<Q @<Q @<Q @<Q @<Q @<Q @<Q @<Q @<Q @<o @<Q @<^ @<o @<^ @<^ @<Q @<^ @<^ @<^ @<^ @<^ @<^ @<^ @<Q @<^~z=^~zN^~z0^~z0^~z0^~zN^~z=^~z=^~z=^~z=^~z=^~zN^~z=^~z=^~z0^~zN^~z=^~z=^~zN^~z=^~zN^~z0^~z=^~zN^~zN^~z0^~z=^~zN^~z0^~z=^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z0^~z=]Yn=]Yn=]Yn=]Y-=]Y{=]Y-=]Y{=]Y{=]Y-=]Y{=]Yn=]Yn=]Yn=]Yn=]Yn=]Yn=]Yn=]Yn=]Yn=]Yn=]Y-=]Yn=]Y{=]Y-=]Yn=]Yn=]Yn=]Yn=]Yn=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Y{=]Yn=]Y{<8M{<8M{<8M{<8k{<8Z{<8k{<8Z{<8Z{<8k{<8Z{<8M{<8M{<8M{<8M{<8M{<8M{<8M{<8M{<8M{<8M{<8k{<8M{<8Z{<8k{<8Z{<8Z{<8Z{<8Z{<8M{<8Z{<8M{<8M{<8M{<8M{<8M{<8M{<8M{<8M{<8M{<8Zzv9ZzvJZzv,Zzv,Zzv,ZzvJZzv9Zzv9Zzv9Zzv9Zzv9ZzvJZzv9Zzv9Zzv,ZzvJZzv9Zzv9ZzvJZzv9ZzvJZzv,Zzv9ZzvJZzvJZzv,Zzv9ZzvJZzv,Zzv9Zzv,Zzv,Zzv,Zzv,Zzv,Zzv,Zzv,Zzv,Zzv,Zzv9YUj9YUj9YUj9YU)9YUw9YU)9YUw9YUw9YU)9YUw9YUj9YUj9YUj9YUj9YUj9YUj9YUj9YUj9YUj9YUj9YU)9YUj9YUw9YU)9YUj9YUj9YUj9YUw9YUj9YUw84Iw84Iw84Iw84gw84Vw84gw84Vw84Vw84gw84Vw84Iw84Iw84Iw84Iw84Iw84Iw84Iw84Iw84Iw84Iw84gw84Iw84Vw84gw84Vw84Vw84Vw84Vw84Iw84Vw84Iw84Vvr5VvrFVvr(Vvr(Vvr(VvrFVvr5Vvr5Vvr5Vvr5Vvr5VvrFVvr5Vvr5Vvr(VvrFVvr5Vvr5VvrFVvr5VvrFVvr(Vvr5VvrFVvrFVvr(Vvr5VvrFVvr(Vvr5Vvr(Vvr5UQf5UQf5UQf5UQ%5UQs5UQ%5UQs5UQs5UQ%5UQs5UQf5UQf5UQf5UQf5UQf5UQf5UQf5UQf5UQf5UQf5UQ%5UQf5UQs5UQ%5UQf5UQf5UQf5UQs5UQs5UQs5UQs5UQs5UQs5UQs5UQs5UQs5UQf5UQs40Es40Es40Es40cs40Rs40cs40Rs40Rs40cs40Rs40Es40Es40Es40Es40Es40Es40Es40Es40Es40Es40cs40Es40Rs40cs40Rs40Rs40Rs40Rs40Es40Rs40Rs40Rs40Rs40Rs40Rs40Rs40Rs40Rs40Es40Rrn1RrnBRrn$Rrn$Rrn$RrnBRrn1Rrn1Rrn1Rrn1Rrn1RrnBRrn1Rrn1Rrn$RrnBRrn1Rrn1RrnBRrn1RrnBRrn$Rrn1RrnBRrnBRrn$Rrn1RrnBRrn1Rrn1Rrn$Rrn1Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn$Rrn1QMb1QMb1QMb1QM!1QMo1QM!1QMo1QMo1QM!1QMo1QMb1QMb1QMb1QMb1QMb1QMb1QMb1QMb1QMb1QMb1QM!1QMb1QMo1QM!1QMb1QMo1QMb1QMb1QMb1QMb1QMb1QMb1QMb1QMo0,Ao0,Ao0,Ao0,_o0,No0,_o0,No0,No0,_o0,No0,Ao0,Ao0,Ao0,Ao0,Ao0,Ao0,Ao0,Ao0,Ao0,Ao0,_o0,Ao0,No0,_o0,No0,No0,No0,No0,No0,No0,Ao0,No0,Ao0,Ao0,Ao0,Ao0,Ao0,Ao0,Ao0,Nnj Nnj Nnj Nnj>Nnj-Nnj>Nnj-Nnj-Nnj>Nnj-Nnj Nnj Nnj Nnj Nnj Nnj Nnj Nnj Nnj Nnj Nnj>Nnj Nnj-Nnj>Nnj Nnj Nnj Nnj Nnj Nnj-MI^-MI^-MI^-MI|-MIk-MI|-MIk-MIk-MI|-MIk-MI^-MI^-MI^-MI^-MI^-MI^-MI^-MI^-MI^-MI^-MI|-MI^-MIk-MI|-MI^-MIk-MIk-MIk-MI^-MIk,(=k,(=k,(=k,([k,(Jk,([k,(Jk,(Jk,([k,(Jk,(=k,(=k,(=k,(=k,(=k,(=k,(=k,(=k,(=k,(=k,([k,(=k,(Jk,([k,(Jk,(Jk,(Jk,(Jk,(Jk,(Jk,(=k,(Jk,(Jk,(Jk,(=k,(Jjf{Jjf{Jjf{Jjf:Jjf)Jjf:Jjf)Jjf)Jjf:Jjf)Jjf{Jjf{Jjf{Jjf{Jjf{Jjf{Jjf{Jjf{Jjf{Jjf{Jjf:Jjf{Jjf)Jjf:Jjf)Jjf)Jjf)Jjf)Jjf{Jjf)IEZ)IEZ)IEZ)IEx)IEg)IEx)IEg)IEg)IEx)IEg)IEZ)IEZ)IEZ)IEZ)IEZ)IEZ)IEZ)IEZ)IEZ)IEZ)IEx)IEZ)IEg)IEx)IEZ)IEg)IEg)IEg)IEg)IEg)IEg)IEg)IEg)IEg)IEg)IEg)IEZ)IEg($Fg($Wg($9g($9g($9g($Wg($Fg($Fg($Fg($Fg($Fg($Wg($Fg($Fg($9g($Wg($Fg($Fg($Wg($Fg($Wg($9g($Fg($Wg($Wg($9g($Fg($Wg($9g($9g($9g($Fg($9g($9g($9g($9g($9g($9g($9g($9g($9g($9g($9g($9g($9g($Ffb%Ffb6FfbwFfbwFfbwFfb6Ffb%Ffb%Ffb%Ffb%Ffb%Ffb6Ffb%Ffb%FfbwFfb6Ffb%Ffb%Ffb6Ffb%Ffb6FfbwFfb%Ffb6Ffb6FfbwFfb%Ffb6Ffb%Ffb%FfbwFfb%EAV%EAV%EAV%EAt%EAc%EAt%EAc%EAc%EAt%EAc%EAV%EAV%EAV%EAV%EAV%EAV%EAV%EAV%EAV%EAV%EAt%EAV%EAc%EAt%EAc%EAc%EAV%EAc%EAV%EAV%EAV%EAV%EAV%EAc$ Bc$ Sc$ 5c$ 5c$ 5c$ Sc$ Bc$ Bc$ Bc$ Bc$ Bc$ Sc$ Bc$ Bc$ 5c$ Sc$ Bc$ Bc$ Sc$ Bc$ Sc$ 5c$ Bc$ Sc$ Sc$ 5c$ Bc$ Sc$ 5c$ 5c$ 5c$ Bc$ 5c$ 5c$ 5c$ 5c$ 5c$ Bb^sBb^sBb^sBb^2Bb^!Bb^2Bb^!Bb^!Bb^2Bb^!Bb^sBb^sBb^sBb^sBb^sBb^sBb^sBb^sBb^sBb^sBb^2Bb^sBb^!Bb^2Bb^sBb^sBb^sBb^sBb^sBb^!Bb^!Bb^!Bb^!Bb^!Bb^sBb^!A=R!A=R!A=R!A=p!A=_!A=p!A=_!A=_!A=p!A=_!A=R!A=R!A=R!A=R!A=R!A=R!A=R!A=R!A=R!A=R!A=p!A=R!A=_!A=p!A=_!A=_!A=R!A=_!A=_!A=_!A=_!A=_!A=R!A=_ {>_ {O_ {1_ {1_ {1_ {O_ {>_ {>_ {>_ {>_ {>_ {O_ {>_ {>_ {1_ {O_ {>_ {>_ {O_ {>_ {O_ {1_ {>_ {O_ {O_ {1_ {>_ {O_ {1_ {1_ {1_ {>_ {>_ {>_ {>_ {>_ {1_ {>^Zo>^Zo>^Zo>^Z.>^Z|>^Z.>^Z|>^Z|>^Z.>^Z|>^Zo>^Zo>^Zo>^Zo>^Zo>^Zo>^Zo>^Zo>^Zo>^Zo>^Z.>^Zo>^Z|>^Z.>^Zo>^Zo>^Zo>^Zo>^Zo>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Z|>^Zo>^Z|=9N|=9N|=9N|=9l|=9[|=9l|=9[|=9[|=9l|=9[|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9l|=9N|=9[|=9l|=9[|=9[|=9[|=9[|=9N|=9[|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9N|=9[{w:[{wK[{w-[{w-[{w-[{wK[{w:[{w:[{w:[{w:[{w:[{wK[{w:[{w:[{w-[{wK[{w:[{w:[{wK[{w:[{wK[{w-[{w:[{wK[{wK[{w-[{w:[{wK[{w-[{w:[{w-[{w-[{w-[{w-[{w-[{w-[{w-[{w-[{w-[{w-[{w-[{w:ZVk:ZVk:ZVk:ZV*:ZVx:ZV*:ZVx:ZVx:ZV*:ZVx:ZVk:ZVk:ZVk:ZVk:ZVk:ZVk:ZVk:ZVk:ZVk:ZVk:ZV*:ZVk:ZVx:ZV*:ZVk:ZVk:ZVk:ZVx:ZVk:ZVk:ZVk:ZVx95Jx95Jx95Jx95hx95Wx95hx95Wx95Wx95hx95Wx95Jx95Jx95Jx95Jx95Jx95Jx95Jx95Jx95Jx95Jx95hx95Jx95Wx95hx95Wx95Wx95Wx95Wx95Jx95Wx95Jx95Jx95Jx95Wws6WwsGWws)Wws)Wws)WwsGWws6Wws6Wws6Wws6Wws6WwsGWws6Wws6Wws)WwsGWws6Wws6WwsGWws6WwsGWws)Wws6WwsGWwsGWws)Wws6WwsGWws)Wws6Wws)Wws)Wws)Wws6VRg6VRg6VRg6VR&6VRt6VR&6VRt6VRt6VR&6VRt6VRg6VRg6VRg6VRg6VRg6VRg6VRg6VRg6VRg6VRg6VR&6VRg6VRt6VR&6VRg6VRg6VRg6VRt6VRt6VRt6VRt6VRt6VRt6VRt6VRg6VRt51Ft51Ft51Ft51dt51St51dt51St51St51dt51St51Ft51Ft51Ft51Ft51Ft51Ft51Ft51Ft51Ft51Ft51dt51Ft51St51dt51St51St51St51St51Ft51St51St51St51St51St51St51St51Ft51Sso2SsoCSso%Sso%Sso%SsoCSso2Sso2Sso2Sso2Sso2SsoCSso2Sso2Sso%SsoCSso2Sso2SsoCSso2SsoCSso%Sso2SsoCSsoCSso%Sso2SsoCSso2Sso2Sso%Sso2Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso%Sso2RNc2RNc2RNc2RN"2RNp2RN"2RNp2RNp2RN"2RNp2RNc2RNc2RNc2RNc2RNc2RNc2RNc2RNc2RNc2RNc2RN"2RNc2RNp2RN"2RNc2RNc2RNc2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNp2RNc2RNp1-Bp1-Bp1-Bp1-`p1-Op1-`p1-Op1-Op1-`p1-Op1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-`p1-Bp1-Op1-`p1-Op1-Op1-Op1-Op1-Op1-Op1-Bp1-Op1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-Bp1-O

Die einfache Möglichkeit, diese Herausforderung zu bewältigen, besteht in einer Token-Sprache, die keine Zeilenumbrüche benötigt und ungültige Token ignoriert.

Getestet mit diesem Interpreter *. Nimmt 8-Bit-Zellen für zusätzliche Golfiness an. Programme werden auch leicht überlappt, um einige Bytes zu sparen.

* Dieser Interpreter hat eine seltsame Eigenart, bei der der letzte Token ein Zeichen benötigt, um registriert zu werden, was sich auswirkt n = 62. Es gibt Offline-8-Bit-Dolmetscher ohne diese Eigenart, aber dies war der beste Online-Dolmetscher, den ich finden konnte.


2
Na ja ... soviel zu einem Rennen um 95: |
Calvins Hobbys

Ich war gerade dabei, etwas Ähnliches in Brainfuck zu machen… na ja. Wäre nicht so gut gewesen wie in Ook!
Fatalize

Ich habe auch an BF gearbeitet, als mir klar wurde, dass es nicht funktioniert, als ich anfing, nach BF-Derivaten zu suchen.
Fehler

6
Nicht oft sehen wir eine Verbesserung von über 5000 Bytes in einem Optimierungsschritt ... #awkward
corsiKa

6

PHP, 95 Programme, 2439 2063 Bytes

<?=0;die?>;></*na^bkd`m'(:chd>=:=;/)m`]ajc_l&'9bgc=<9<:/(l_\`ib^k%&8afb<;8;9/'k^[_ha]j$%7`ea;:7:8/&j]Z^g`\i#$6_d`:9697/%i\Y]f_[h"#5^c_98586/$h[X\e^Zg!"4]b^87475/#gZW[d]Yf !3\a]76364/"fYVZc\Xe~ 2[`\65253/!eXUYb[Wd}~1Z_[54142&% dWTXaZVc|}0Y^Z43031%%~cVSW`YUb{|/X]Y32/20$%}bURV_XTaz{.W\X21.1/#%|aTQU^WS`yz-V[W10-0."'}`SPT]VR_xy,UZV0/,/-!%z_ROS\UQ^wx+TYU/.+., %y^QNR[TP]vw*SXT.-*-+~%x]PMQZSO\uv)RWS-,),*}%w\OLPYRN[tu(QVR,+(+)|%v[NKOXQMZst'PUQ+*'*(|zuZMJNWPLYrs&OTP*)&)'{ztYLIMVOKXqr%NSO)(%(&zzsXKHLUNJWpq$MRN('$'%yzrWJGKTMIVop#LQM'&#&$xzqVIFJSLHUno"KPL&%"%#w|rUHEIRKGTmn!JOK%$!$"vzoTGDHQJFSlm INJ$# #!uznSFCGPIERkl~HMI#"~" tzmREBFOHDQjk}GLH"!}!~szlQDAENGCPij|FKG! | }spkPC@DMFBOhi{EJF ~{~|rpjOB?CLEANghzDIE~}z}{qpiNA>BKD@MfgyCHD}|y|zpphM@=AJC?LefxBGC|{x{yopgL?<@IB>KdewAFB{zwzxnpfK>;?HA=Jcdv@EAzyvywmrgJ=:>G@<Ibcu?D@yxuxvlpdI<9=F?;Habt>C?xwtwukpcH;8<E>:G`as=B>wvsvtjpbG:7;D=9F_`r<A=vurusjfaF96:C<8E^_q;@<utqtrif`E859B;7D]^p:?;tspsqhf_D748A:6C\]o9>:srorpgf^C637@95B[\n8=9rqnqoff]B526?84AZ[m7<8qpmpnef\A415>73@YZl6;7polomdf[@304=62?XYk5:6onknlch\?2/3<51>WXj495nmjmkbfY>1.2;40=VWi384mliljafX=0-1:3/<UVh273lkhkia\W</,092.;TUg162kjgjh`\V;.+/81-:STf051jifig_\U:-*.70,9RSe/40ihehf^\T9,)-6/+8QRd.3/hgdge]\S8+(,5.*7PQc-2.gfcfd\\R7*'+4-)6OPb,1-febec[\Q6)&*3,(5NOa+0,edadbZ\P5(%)2+'4MN`*/+dc`caZTQ4'$(1*&3LM_).*cb_b`X\N3&#'0)%2KL^(-)ba^a_XRM2%"&/($1JK]',(a`]`^WRL1$!%.'#0IJ\&+'`_\_]VRK0# $-&"/HI[%*&_^[^\URJ/"~#,%!.GHZ$)%^]Z][TRI.!}"+$ -FGY#($]\Y\ZSRH- |!*#~,EFX"'#\[X[YRRG,~{ )"}+DEW!&"[ZWZXQRF+}z~(!|*CDV %!ZYVYWPRE*|y}' {)BCU~$ YXUXVPJF){x|&~z(ABT}#~XWTWUOHC(zw{%}y'@AS|"}WVSVTNHB'yvz$|x&?@R{!|VURUSMHA&xuy#{w%>?Qz {UTQTRLH@%wtx"zv$=>Py~zTSPSQKH?$vsw!yu#<=Ox}ySRORPJH>#urv xt";<Nw|xRQNQOIH="tqu~ws!:;Mv{wQPMPNHH<!spt}vr 9:LuzvPOLOMGH; ros|uq~89KtyuONKNLFH:~qnr{tp}78JsxtNMJMKF>9}pmqzso|67IrwsMLILJE>8|olpyrn{56HqvrLKHKID>7{nkoxqmz45GpuqKJGJHC>6zmjnwply34FotpJIFIGB>5ylimvokx23EnsoIHEHFA>4xkhlunjw12DmrnHGDGE@>3wjgktmiv01ClqmGFCFD?>2vifjslhu/0BkplFEBEC>>1uheirkgt./AjokEDADB=>0tgdhqjfs-.@injDC@CA=4/sfcgpier,-?hmiCB?B@<4.rebfohdq+,>glhBA>A?;4-qdaengcp*+=fkgA@=@>:4,pc`dmfbo)*<

Erfordert, dass die Option output_buffering auf On gesetzt ist, oder Werte wie 4096. Der Standardwert für den Webdienst (jedoch nicht für die CLI) ist 4096, zumindest für meine Installation.

Der Arzt sagt, ob_cleandass er nichts zurückgibt. Aber es ist trotzdem wahr zurückgekehrt.

Verschobene Programme sehen folgendermaßen aus:

9:  ...dmfbo)*<ejf@?<?=8+ob_clean();die?>;><8*na^bkd`m(:chd>=:=;/.)...
15: ...dmfbo)*<ejf@?<?=16-ob_clean();die?>;><04*na^bkd`m'(:chd>=:=;...
94: ...dmfbo)*<ejf@?<?=93+ob_clean();

Mit diesem CJam-Programm erstellt:

"<?=0;die?>"95,(;{["<?="1$(_Ab:--3={))'-}'+?"ob_clean();die?>"]sf{i\- 95+ 32- 95% ' +}}%s-5<

Meine ersten Versuche waren Foo und Gammaplex. Dann wurde mir klar, dass ich eine Sprache mit 2 oder mehr Zeichen finden sollte, die den Startpunkt
angeben

5

CJam , 10 Programme, 1 Byte

Ich dachte, ich füge das sofort hinzu, bevor jemand anderes frech wird und es tut: P

0

Ein CJam-Programm mit nur einer einfachen Zahl gibt diese Zahl aus. Auf diese Weise erhalten Sie auf einfache Weise 10 Programme, die funktionieren:

0, 1, 2, 3, 4, 5, 6, 7, 8, Und 9.

Es :überrascht nicht, dass das nächste Programm nicht ausgegeben wird, 10sondern einen Fehler "unvollendeter Operator" ausgibt .

Dies funktioniert zweifellos in vielen Sprachen.


1
Sie können auch MATL zum Titel Ihres Beitrags hinzufügen =)
flawr

5
Und Pyth, und GolfScript, und viele andere langs Golf. =) Sie können einfach sagen: "Polyglot".
User48538

1
Funktioniert auch in anderen Sprachen als Golf. Dies ist beispielsweise eine vollständig gültige PowerShell.
AdmBorkBork

Funktioniert im Ernst und tatsächlich auch.
Mego

Mathematica auch.
Ein Simmons
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.