Drucken Sie ein 10 x 10-Raster mit Sternchen


83

Hintergrund

Dies ist ein Standardlehrbuchbeispiel zur Demonstration von Schleifen.

Dies ist eines der ersten Programme, die ich gelernt habe, als ich vor ca. 10 Jahren anfing, Programmieren zu lernen.

Aufgabe

Diesen genauen Text drucken Sie aus:

**********
**********
**********
**********
**********
**********
**********
**********
**********
**********

Technische Daten

  • Möglicherweise haben Sie zusätzliche nachgestellte Zeilenumbrüche.
  • Möglicherweise stehen am Ende jeder Zeile zusätzliche nachgestellte Leerzeichen (U + 0020), einschließlich der zusätzlichen nachgestellten Zeilenumbrüche.

Wertung

Das ist . Kürzeste Antwort in Bytes gewinnt.

Bestenliste

Hier ist ein Stack-Snippet, um sowohl eine reguläre Rangliste als auch eine Übersicht der Gewinner nach Sprache zu generieren.


2
@DylanMeeus "Sie müssen genau diesen Text drucken :"
Leaky Nun

13
@DylanMeeus Da dies mit den Dev-Tools zu tun hat, die wiederholte Konsolenausgaben verbergen, und nicht für JavaScript-Konsolen als Ganzes nativ ist und nicht in der JavaScript-Spezifikation enthalten ist - sowie der Tatsache, dass die Funktion deaktiviert werden kann - glaube ich sollte akzeptabel sein. Nicht alle Browser werden es so reduzieren.
Trotzki94

6
@LeakyNun Leaderboard Schnipsel bitte!
Dkudriavtsev

2
Eines der interessantesten Dinge an dieser Herausforderung ist, dass ********** je nach Sprache kürzer sein kann als eine Schleife. Ich frage mich, wann es für eine bestimmte Sprache besser ist, zwischen 1 oder 2 Schleifen zu wechseln.
Dwana

1
Sie sagen, dass nachfolgende neue Zeilen akzeptabel sind. Sind führende Zeilen auch akzeptabel?
Albert Renshaw

Antworten:




65

Bash + Coreutils, 19 Bytes

Ich ziehe es vor, Sachen in Bash mit 'yes' zu wiederholen.

yes **********|head

Ich habe 2 Bytes auf Vorschlag von @ Neil gespart. Wenn das Verzeichnis, in dem Sie diesen Befehl ausführen, jedoch nicht nur Dateien enthält, die mit einem '.' dot Sie die Sterne umschließen müssen *mit ".

Bash + Coreutils, 21 Bytes

yes "**********"|head

2
Tolle Idee zu verwenden yes. Wir bezeichnen solche Lösungen normalerweise als "Bash + coreutils".
Manatwork

8
Schön, dass zufällig 10 Zeilen die Voreinstellung für sind head.
Digital Trauma

3
Können Sie zwei Bytes sparen, indem Sie festlegen, dass alle Dateien im aktuellen Verzeichnis mit einem beginnen müssen .?
Neil

@Neil, ist Ihr Kommentar für meine Antwort? Wenn ja, ich verstehe es nicht :)
CousinCocaine

1
Sie können auch yes \**********|headohne Einschränkung für Dateien schreiben .
Florian F

50

Vim, 13 8 Bytes

5 Bytes dank @Lynn gespart

qqi*␛9.o␛q9@q 

10i*␛Y9p

10i*␛füge 10 mal ein *und Y9pkopiere die Zeile und füge sie 9 mal ein.


8
10i*♥Y9pfunktioniert.
Lynn

1
Das ist verrückt, vi.
nbubis

Ich denke, Sie können Tastatureingaben anstelle von Bytes für Texteditoren zählen, was bedeutet, dass <ESC> kürzer wäre.
Addison

1
Warum ♥ und nicht ␛?
CL.

1
Ich hätte yy9pmich selbst benutzt, aber nette Arbeit mit Großbuchstaben, um einen Charakter zu retten!
Joe Z.

49

Pyth, 6 Bytes

VT*T\*

Tist 10 in Pyth, Vabführt Anweisungszeiten aus b a, \*ist die Sternzeichenkonstante und multipliziert ( *) eine Zeichenfolge und eine Ganzzahl und wiederholt diese Zeichenfolge n-mal. Das implizite Drucken von Pyth Vbedeutet, dass 10 Zeilen gedruckt werden.


40

Hexagonie, 37 35 34 31

10"+}(=${";<$<1}42/.0@_=<>\;>(_

Erweitert:

   1 0 " +
  } ( = $ {
 " ; < $ < 1
} 4 2 / . 0 @
 _ = < > \ ;
  > ( _ . .
   . . . .

Probieren Sie es online aus

Grundsätzlich gibt es nur zwei for-Schleifen, die von zehn bis null zählen, wobei auf der inneren Schleife ein Sternchen und auf der äußeren Schleife ein Zeilenumbruch ausgegeben wird.

Erläuterung:

Dieses Programm besteht aus drei Hauptteilen: Initialisierung des Speichers, einer Schleife, in der zehn Sternchen gedruckt werden, und einer Schleife, in der eine neue Zeile gedruckt wird. Die Schleife, die eine neue Zeile druckt, enthält auch die Schleife, die die Sternchen druckt.

Zunächst führt der Code die vollständig lineare Speicherinitialisierung aus. Der Code arbeitet zu sein: 10"+}42. Dies setzt die Erinnerung an die nahegelegenen Kanten so, dass sie wie folgt aussieht:

10 \ / 10
    |
   42

42 ist der ASCII-Code für das Sternchen, und die zwei Zehner werden als unsere Schleifenzähler verwendet. Bemerkenswert ist, dass der Speicherzeiger gerade von den beiden Zehnern weg zeigt. Wenn Sie also nach hinten gehen, werden Sie auf einen der Zehner gesetzt.

Als nächstes starten wir die Sternchen-Druckschleife. Linear, sieht der Code wie: ;".._(. Dies druckt ein Sternchen aus, bewegt den Speicherzeiger nach links und rückwärts und dekrementiert schließlich den Wert dort. Nach einer Iteration würde der Speicher wie folgt aussehen:

10 \ / 9
    |
   42

Dann treffen wir die Schleifenbedingung: ganz links unten >. Wenn die Kante, die wir gerade dekrementiert haben, immer noch positiv ist, springen wir herum und führen a aus {, um uns zurück auf die 42 zu bewegen. Dann drücken wir a $und kehren zum Anfang der Druckschleife zurück ;, indem wir die Taste überspringen <. Wenn der Wert Null war, begeben wir uns in die andere Schleife.

Die äußere Schleife beginnt mit dem Zurücksetzen der kürzlich auf Null gestellten Speicherflanke auf zehn (dies ist die 10im Code angegebene, nach Südwesten gehende). Dann drucken wir diese zehn als ASCII-Zeichen aus, was eine neue Zeile ist. Als nächstes gehen wir auf die anderen Speicherkante oder vermindern, mit {(und dann ausführen , was zu einer Reihe von noops betragen: =${_=. Nach einer Iteration dieser Schleife würde der Speicher wie folgt aussehen:

 9 \ / 10
    |
   42

Diesmal zeigt der Speicher von der Kante nach außen und speichert eine Neun im obigen Diagramm. Als nächstes führen wir die aus, <die als Schleifenbedingung für die äußere Schleife fungiert. Wenn der Wert ungleich Null war, springen wir von einigen Spiegeln ab und beginnen erneut mit der Ausführung sinnvoller Anweisungen, nachdem wir den oberen Rand des Sechsecks im sich "bewegenden Südwesten betreten haben . Dies führt dazu, dass wir uns rückwärts und nach links bewegen, wieder auf die 42, aber nach innen gerichtet. Dann =dreht der unsere Richtung um und setzt den Zustand korrekt zurück, um die innere Schleife erneut zu beginnen. Wenn die Flanke auf Null gesetzt wurde, geht der Befehlszeiger auf ein kleines Abenteuer, das nichts unternimmt, bis es das Programm verlässt.

Das Abenteuer beginnt damit, dass der Befehlszeiger nach Nordosten wagt und dabei die Sicherheit der Himmelsrichtungen auf gefährliche Weise missachtet. Es ignoriert mutig einen Spiegel, der an seiner Richtung ausgerichtet ist ( /) und springt heldenhaft von einem Trampolin ($), die der tödlichen Falle eines anderen, völlig identischen Trampolins gänzlich ausweicht. Während der Zeiger auf die Leere nicht initialisierter Sechskantkanten starrt, addiert er die beiden leeren Kanten, denen er gegenübersteht, ohne einen Moment lang ins Stocken zu geraten, und setzt die aktuelle Kante auf die Summe: 0 (die Kante war zuvor eigentlich Null, aber der Zeiger mag es Ich glaube, das war ziemlich wichtig. Da die Kante Null ist, macht der Zeiger an der Weggabelung eine Linkskurve und geht in einen mysteriösen Wald (aus Sechsecken). Dort ist es desorientiert und bewegt sich vorwärts und rückwärts und vorwärts, bis es an der gleichen Stelle im Gedächtnis landet, an der es begonnen hat. In der Annahme, dass das Problem darin bestehen muss, dass die aktuelle Flanke beim letzten Mal auf Null gesetzt wurde, pflanzt der Zeiger mutig a1in die aktuelle Kante. Dann untersucht der edle Zeiger einen anderen Weg, einen mit ... einer Falle! Die aktuelle Flanke wird dekrementiert und auf Null zurückgesetzt! Der durch die schockierende Wendung der Ereignisse betäubte Zeiger stolpert zurück in die Falle und setzt die aktuelle Flanke auf negativ. Wütend versucht der Zeiger, in den vergleichsweise angenehmen Wald zurückzukehren, nur um festzustellen, dass sich die Wege erneut verschoben haben und der Zeiger in eine Höhle läuft, da die aktuelle Kante nicht positiv ist. Und mit einer Höhle meine ich das Maul eines riesigen sechseckigen Wurms. Hilflos verflucht der Zeiger mit seinem sterbenden Atem die Sexualität. Auch das Programm endet.


Ich hoffe, der Wurm konnte einen Zeiger nicht verschlucken. Diese Dinge können weh tun .
Joffan

3
+1 für das Schreiben der interessantesten - der einzigen - Hexagony-Erklärung, die ich je gelesen habe. Ich fühlte mich so angespannt, als die Kante abnahm!
Joe

37

Emacs, 10 8 Tastenanschläge

F3 C-1 0 * ENTER F4 C-9 F4

Erläuterung

F3             Starts a macro recording
C-1 0 *        Apply 10 times command '*': prints 10 asterix'
ENTER          Insert new line
F4             Stops the macro record
C-9 F4         Apply 9 times the macro

Dank Sean für zwei Tastenanschläge zu speichern, was darauf hindeutet , zu ersetzen C-udigitmit C-digit.


9
+1, ich stimme den Antworten des Texteditors immer zu (obwohl ich selbst eher ein Vim-Typ bin) :)
DJMcMayhem

1
Wenn dies C-unur ein Tastendruck ist, können Sie zwei Striche abschneiden, indem Sie C-1 C-0(oder M-1 M-0) anstelle von C-u 1 0und C-9anstelle von eingeben C-u 9.
Sean

15
+1, weil Sie durch die Verwendung von Emacs leiden mussten, um dies zu schreiben.
Addison

1
Alternativ (speichert nichts) kann die Zeilenwiederholung innerhalb des Makros erfolgen:F3 C-1 0 * ENTER C-1 0 F4
Jonathan Carroll

@ JonathanCarroll ja, es würde Bytes sparen, wenn wir mehr als 10 Zeilen drucken würden;)
YSC

29

Gelee , 7 Bytes

”*x⁵Ṅ9¡

Was ist los?

”*x⁵Ṅ9¡  - No arguments
”*       - character literal, *
  x      - multiply (dyadic operation)
   ⁵     - integer literal, 10 (we have now constructed the string '**********')
    Ṅ    - Print & linefeed (monadic operation)
     9   - integer literal, 9
      ¡  - Repeat n times (n is 9 as the first Ṅ is not a repeat)

Teste es auf tryitonline


9
Ich mag das wirklich Ṅ9¡.
Dennis

Liste Version: ”*ẋ⁵Wẋ⁵.
Erik der Outgolfer

@EriktheGolfer würden Sie eine Yam Ende benötigen, um "genau diesen Text drucken"
Jonathan Allan

@ JonathanAllan Es ist jedoch eine eigene Liste. Es ist nicht dazu gedacht, "genau diesen Text zu drucken", aber wenn Sie daran arbeiten möchten, werden Sie ihn verwenden.
Erik der Outgolfer

26

PowerShell, 14 - 12 Byte

,('*'*10)*10

Erstellt eine Zeichenfolge mit Sternchen der Länge 10mithilfe der Zeichenfolgenmultiplikation. Verkapselt dies in Parens und fügt es in den Komma-Operator ein, um ein Array zu erstellen. Wir verwenden die Array-Multiplikation, um ein Array mit 10 Elementen zu erstellen, das aus diesem Element besteht (dh ein Array mit 10 Elementen aus Sternchenfolgen). Das bleibt in der Pipeline und die Ausgabe ist implizit (da die Standardeinstellung Write-Outputfür ein Array durch Zeilenumbrüche getrennt ist, erhalten wir das kostenlos - danke an @Joey für die Klarstellung).

Älter, 14 Bytes

0..9|%{'*'*10}

Volles Programm. Schleifen von 0bis 9durch eine ForEach-ObjectSchleife |%{...}. Bei jeder Iteration verwenden wir die String-Multiplikation, um einen Längen- 10String von zu erstellen *. Diese resultierenden Zeichenfolgen Write-Outputverbleiben in der Pipeline und die Ausgabe am Ende ist implizit (da die Standardeinstellung für ein Array durch Zeilenumbrüche getrennt ist, erhalten wir diese kostenlos - danke an @Joey für die Klarstellung).


5
Ich mag es, weil Powershell so ausführlich sein kann. Dies ist jedoch elegant und kurz.
Dwana

Nun, technisch gesehen wird das Array nie durch a geleitet ToString, es wird abgewickelt und Element für Element an Write-Output übergeben. In Kontexten, in denen das Array in eine Zeichenfolge konvertiert wird, werden die Elemente durch Leerzeichen getrennt.
Joey

@Joey Ah, fair, das ist ein besserer Weg, es auszudrücken. Ich bearbeite den Wortlaut (und meine Antwortvorlage ;-)).
AdmBorkBork

1
Ich bin vielleicht voreingenommen, weil ich an einer PowerShell-Implementierung beteiligt bin und daher viel über die tatsächlichen Vorgänge im Interpreter lernen musste;)
Joey,

25

V , 7 Bytes

10é*10Ä

Probieren Sie es online!

Ungefähr so ​​einfach wie eine Antwort sein kann.

Erläuterung:

10      "10 times:
  é*    "insert an asterisk
    10Ä "make 10 copies of the current line

Nicht konkurrierende Version (5 Bytes):

10O±*

Erläuterung:

10O     " Insert the following on the next ten lines:
   ±    "   10 copies of
    *   "   an asterisk

Dies funktionierte nicht, als die Herausforderung aufgrund eines Fehlers veröffentlicht wurde.


Hinweis zur Reihenfolge: é und Ä sind Multibyte-Zeichen (zumindest in utf-8, wie Sie sie hier haben), daher ist dieses Programm 9 Byte lang.
Rob

6
@rob Sie sind hier in utf-8 codiert, weil der Browser genau so funktioniert. V verwendet „Latin1“ encoding, wo sie sich befinden E9und C4jeweils.
DJMcMayhem

21

Qualle , 12 10 Bytes

Vielen Dank an Zgarb für das Speichern von 2 Bytes.

P$'*
 &;10

Probieren Sie es online!

Erläuterung

Dieses Programm verwendet eine konventionellere Schreibweise und stellt den folgenden Ausdruck dar:

P( $( &;(10), '* ) )

&;Nimmt einen einzelnen Wert und erzeugt ein Paar mit dem zweifachen dieses Wertes, so &;(10)gibt uns [10 10]. Dann $entsteht eine Umformung, die ein 10x10-Gitter von Sternchen bildet. Zum Schluss wird Pdas Array im "Matrixformat" gedruckt, wobei jeder String in einer eigenen Zeile gedruckt wird.


20

HTML & CSS, 104 60 Bytes

p::after{content:"**********"
<p><p><p><p><p><p><p><p><p><p>

Ich bin nicht sicher, ob die Byteanzahl korrekt ist (da ich die <style>Tags für CSS nicht zähle . Der HTML-Code könnte auch gekürzt werden, wenn ich einen HTML-Präprozessor verwende, aber ich bin nicht sicher, ob dies gegen die Regeln verstößt

Dank Handarbeit und Business Cat.

Siehe mein Jade-Eintrag von 36 Bytes


Sie können die selbstschließenden /s weglassen und alle Tags in dieselbe Zeile schreiben. Ändern Sie die Tags besser in, <p>da sie kürzer sind, auch wenn Sie sie hinzufügen müssen p{margin:0}.
Manatwork

2
Dies ist kein gültiges CSS. Sie benötigen die schließende Klammer!
Richard Hamilton

25
@RichardHamilton gültiges CSS und funktionierendes CSS sind nicht dasselbe
undergroundmonorail

1
@ClementNerma Warum sollte jemand Code danach setzen?
Erik der Outgolfer

2
Sie können das letzte >
auslassen,

16

Python 2, 22 21 Bytes

print('*'*10+'\n')*10

print(("*"*10+'\n')*10)arbeitete für mich.
piepi

6
@piepi Aus diesem Grund ist es in Python 2 normalerweise besser, Golf zu spielen - Sie brauchen keine Klammern, wenn Sie anrufen print.
Shooqie

@shooqie Mit Python2 ist eine Python3-Lösung nicht zu schlagen. Python2 und Python3 sind verschiedene Sprachen. Sie würden die Python2-Lösung auch nicht mit einer speziellen Golfsprache wie Pyth vergleichen.
Alfe

16

MATLAB, 14 Bytes

repmat('*',10)

Ich habe kein MATLAB, um dies zu testen, daher bin ich mir nicht sicher, ob es Leerzeichen zwischen den *s gibt.
Erik der Outgolfer

@EriktheGolfer eindeutig nicht :)
PieCot

matschlägt eine Matrix vor, deshalb habe ich gefragt.
Erik der Outgolfer

2
@EriktheGolfer Entschuldigung, ich war unhöflich. Tatsächlich bezieht sich Mat auf eine Matrix, aber in diesem Fall ist es eine Matrix aus Zeichen, dh ein Array von Zeichenfolgen (jede Zeile ist wie eine Zeichenfolge). Die Ausgangsmatrix wird also zeilenweise ohne Leerzeichen zwischen Elementen derselben Zeile gedruckt.
PieCot

16

APL , 9 Bytes

Funktioniert mit allen jemals erstellten APLs.

10 10'*'

10 10 zehn Zeilen und zehn Spalten

 zyklisch r epeating

'*' ein Stern

TryAPL online!


Es ist erwähnenswert, dass diese Lösung nicht Dyalog-spezifisch ist. es funktioniert auch mit GNU APL.
Arc676

3
@ Arc676 Richtig. Tatsächlich funktioniert es mit allen APLs, die jemals erstellt wurden.
Adám

argh, ich brauche nur noch ein Byte ... Ich habe dich fast mit dem "Format" ∘.⊢⍨⍕⍨,⍨5
-Trick besiegt

@ngn Das ist wunderbar schrecklich!
Adám

14

Java 7, 63 Bytes

void f(){for(int i=0;i++<10;)System.out.println("**********");}

Nur zum Spaß. Ich kann anscheinend keine Tricks finden, um dies zu verkürzen. Der Versuch, eine Logik für eine 100-Schleife hinzuzufügen oder einen String zurückzugeben, anstatt zu drucken, wird schlimmer.


1
Sie können es um ein Byte i0int i;void f(){for(;i++<10;)System.out.println("**********");}
reduzieren,

1
Das würde die Wiederverwendbarkeit beeinträchtigen, wenn ich nicht i=0irgendwo in der Funktion tätig wäre und die Einsparungen zunichte mache.
Geobits

3
+1 scheint , Sie sind in der Tat richtig , dass dies der kürzeste .. Recursive 65 Bytes ist: int i=10;void f(){System.out.println("**********");if(i-->0)g();}; Eins nach dem anderen rekursiv ist 67 Bytes int i=99;void f(){System.out.print(i%10<1?"*\n":"*");if(i-->0)g();}:; Bei Verwendung des String-Konstruktors mit dem Zeichen-Array sind es 82 Bytes void g(){System.out.print(new String(new char[10]).replace("\0","**********\n"));}:; und eine String.format beträgt 81 Bytes void g(){System.out.print(String.format("%010d",0).replace("0","**********\n"));}. Na ja, wir haben es versucht. ;)
Kevin Cruijssen

2
Aber zählt es, ohne die Klassendeklaration selbst hinzufügen zu müssen? Was ist das kürzeste Java7-Vollprogramm, das das kann?
Jsbueno

1
Sie müssen die Importabrechnung zählen, damit hier keine Einsparungen erzielt werden.
Geobits

14

Ruby, 15 Zeichen

puts [?**10]*10

Probelauf:

bash-4.3$ ruby -e 'puts [?**10]*10'
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********

Kannst du es erklären ?**10? Es werden zwar zehn Sternchen erzeugt, aber mir ist nicht klar, wie ...
erich2k8

3
Das ?ist die Buchstabennotation, also ?* == '*'. Die 2. *ist die String.*Methode , also ?**10 == '*'.*(10).
Manatwork

Leider verstehe ich immer noch nicht, warum ?die wörtliche Notation von irgendetwas ist, aber vielleicht bleiben einige Fragen besser unbeantwortet. ;)
erich2k8

Entschuldigung, ich kann keinen Hinweis dazu finden. Ist einfach die Ruby-Syntax, die verschiedene String-Literal-Notationen plus eine zulässt, falls der String 1 Zeichen lang ist: eine ?Marke, gefolgt von dem Zeichen, ohne dass ein schließendes Paar der ?Marke erforderlich ist .
Manatwork

1
Ich fand es in der Referenz hier: ruby-doc.org/core-2.3.0/doc/syntax/literals_rdoc.html There is also a character literal notation to represent single character strings, which syntax is a question mark (?) followed by a single character or escape sequence that corresponds to a single codepoint in the script encoding:
erich2k8

13

Notizblock, 34 31 Tastenanschläge

**********
^A^C↓^V^A^C↓^V^V^V^V

^ bezeichnet Strg- <folgendes Zeichen> -Tastendruck, ↑ ↓ sind Auf- bzw. Ab-Tasten.

Stellt Crypto für 3 gespeicherte Tastenanschläge zur Verfügung.


2
Sie sollten Tastenanschläge verwenden, um dies zu zählen.
Undichte Nonne

1
Das ist Shift + Up. Strg + Auf ist etwas anderes.
Neil

1
31 Tastenanschläge**********↵^A^C↓^V^A^C↓^V^V^V^V
Crypto

1
26 Tastenanschläge*****^A^C^V^V↵^A^C^V^A^C^V^V^V^V^V
Andy

5
23 Tastenanschläge**^A^C^V^V^V^V^V↵^A^C^V^V^A^C^V^V^V^V^V
Andy

13

Emojicode , 54 Bytes

🏁🍇🔂i⏩0 10🍇😀🔤**********🔤🍉🍉

Erläuterung:

🏁🍇                        👴 The beginning of program.
    🔂 i ⏩ 0 10 🍇          👵 This is called a "range".
                          It basically starts with i=0 and increments until i=10, then exits. 👵
        😀 🔤**********🔤    👵 😀 is printing class.
                          The 🔤s make the characters they surround string literals. 👵
    🍉                     👴 End of range
🍉                         👴 End of program

2
Ich zähle 54 utf-8 Bytes.
Conor O'Brien

Diese Sprache hasst Windows 7 ...
John Dvorak


10

R 27 29 Bytes

cat(rep('\r**********\n',10))

Eine alternative Antwort (34 Bytes) lautet: cat(rep('**********',10),sep='\n')


Dies fügt am Anfang aller Zeilen außer der ersten ein zusätzliches Leerzeichen hinzu (siehe hier ).
Plannapus

Danke, es funktioniert beim Hinzufügen \r.
Mamie

1
Eine andere Alternative, zu viele (37) Bytes: cat(matrix('*',10,10),fill=10,sep='') R-Geige
Jonathan Carroll

Eine andere Alternative, auch 29 Bytes:write(rep("*",100),"",10,,"")
Giuseppe

1
Und write(rep("**",50),1,5,,"")ist 27 Bytes und vermeidet den ersten Wagenrücklauf.
J.Doe

9

PHP, 32 Bytes

for(;$i++<10;)echo"**********
";

(Variante 32 Bytes - wurde mit geschrieben echo)

<?=str_repeat("**********
",10);

(Variante 33 Bytes)

<?=str_pad("",110,"**********
");

(Variante 33 Bytes)

for(;$i++<110;)echo$i%11?"*":"
";

(Variante 35 Bytes)

for(;$i++<10;)printf("%'*10s
",'');

(Variante 38 Bytes)

<?=($a=str_repeat)($a("*",10)."
",10);

3
Das zweite kann auch auf 32 Bytes<?=str_repeat("**********↵",10);
golfen werden

1
Da Sie bereits eine schöne Sammlung von Alternativen haben, ist hier eine weitere, die Spaß macht: echo chunk_split(str_repeat("*",100),10);Die längste, die es bisher gibt. Nur in meiner Vision ist dies die PHP-Methode, um dies zu tun.
Manatwork

Kann ein Byte kürzer mit WIN-1252 - Codierung sein: for(;++$i<111;)echo$i%11?~Õ:~õ;oderfor(;++$i<11;)echo~ÕÕÕÕÕÕÕÕÕÕõ;
aross

Eine weitere Modulo - Variante für 33 Bytes: for(;$i++<110;)echo"*↵"[$i%11<1];. Und eine 37 Byte Lösung dieser Sammlung hinzuzufügen: for(;$i++<110;)echo chr($i%11?42:10);.
Titus


8

Brainfuck, 46 43 Bytes

+[[---<]+[-->]<]<<[--<<++..........-->>>.<]

Probieren Sie es online! Benötigt einen Dolmetscher mit einem Band, das links offen ist und 8-Bit-Zellen hat.

Der erste Teil dieses Programms erstellt +[[---<]+[-->]<]das Band folgendermaßen:

[255, 250, 245, ... 15, 10, 5, 0, 250, 240, 230, ..., 40, 30, 20, 10, 0]
                                                                      ^

Dies ergibt eine 40 für die Ausgabe von Sternchen ( *, ASCII 42), eine 20 für die Verwendung als Schleifenzähler und eine 10 für die Ausgabe von Zeilenumbrüchen.


7

JavaScript (ES6), 37 Byte

console.log(`**********
`.repeat(10))

Eine klare Antwort.


5
Kannst du nicht mit 6 sparen alert?
Kevin L

1
Möglicherweise könnten Sie 13 Bytes einsparen, indem Sie das entfernen console.log()und REPLim Titel angeben .
Patrick Roberts

6

Cheddar, 21 20 Bytes

print('*'*10+'
')*10

Noch eine einfache Antwort.


4
Speichern Sie 1 Byte mit einem wörtlichen Zeilenumbruch
Leaky Nun

2
Machen Sie es eine Funktion mit, ->anstatt vielleicht zu drucken?
Downgoat

6

Haskell, 29 Bytes

putStr$[0..9]>>"**********\n"

<list1> >> <list2>macht (length <list1>)Kopien <list2>.


6

R, 35 33 32 Bytes

Ô R, du bist manchmal so wortreich .

for(i in 1:10)cat(rep("*",10),"\n")

Interessanterweise hat die catFunktion keinen Wert (sie liefert NULLSTDOUT), so dass Sie so etwas nicht tun können rep(cat(rep))), was lustiger gewesen wäre!

EDIT:
Neue von @LeakyNun vorgeschlagene Lösung, -2 Bytes.

for(i in 1:10)cat("**********\n")

BEARBEITEN: Kürzung nur um -1 Byte, durch @ user5957401

for(i in 0:9)cat("**********\n")

3
for(i in 1:10)"**********\n"
Undichte Nonne

1
@LeakyNun: Einfachheit ist der Schlüssel! Ich hatte cattrotzdem, sonst bringt es nichts.
Frédéric

cat(rep("**********\n",10))
Undichte Nonne

@LeakyNun Es würde nicht die gewünschte Ausgabe erzeugen: siehe hier . Das Standardtrennzeichen in catist ein Leerzeichen, daher diese Ausgabe.
Plannapus

5

Retina , 12 Bytes

Die Anzahl der Bytes setzt die Kodierung nach ISO 8859-1 voraus. Der Zeilenvorschub ist signifikant.


10$**
.
$_¶

In der ersten Stufe wird eine Zeichenfolge mit zehn Sternchen geschrieben, in der zweiten Stufe wird jedes Sternchen durch die gesamte Zeichenfolge und einen Zeilenvorschub ersetzt. Dies druckt zwei hintere Zeilenvorschübe.


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.