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.

Undichte Nonne
quelle
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:

73

Brainfuck , 47 Bytes

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

Probieren Sie es online!

++++++++++[->++++>+>+<<<]   set the tape to 40 10 10
>++>                        set the tape to 42 10 10
[-<..........>>.<]          come on
Undichte Nonne
quelle
48
+1 für Emoticon im Code>.<
user48538
25
+1 für die Fischgräten>++>
Beta-Zerfall
70

C (gcc), 41 bis 39 Bytes

main(i){for(;++i<puts("**********"););}
orlp
quelle
welche version von c?
Zaibis
@Zaibis Funktioniert gut auf gcc: coliru.stacked-crooked.com/a/848cb22a00c35c29 .
Orlp
4
sieht gut aus, gut, alte ANSI C.
YSC
4
main(i){while(11-i++)puts("**********");}ist eine Alternative, gleiche Länge.
YSC
6
Mir gefällt die geschickte Verwendung der Rendite von puts()(und des Anfangswerts von i).
Toby Speight
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
CousinCocaine
quelle
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.

TuxCrafting
quelle
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.

orlp
quelle
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.

FryAmTheEggman
quelle
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.

YSC
quelle
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

Jonathan Allan
quelle
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).

AdmBorkBork
quelle
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.

DJMcMayhem
quelle
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.

Martin Ender
quelle
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

ʰᵈˑ
quelle
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
shooqie
quelle
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)
PieCot
quelle
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!

Adam
quelle
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.

Geobits
quelle
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'
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********
Mann bei der Arbeit
quelle
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.

Micah Dombrowski
quelle
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
betseg
quelle
2
Ich zähle 54 utf-8 Bytes.
Conor O'Brien
Diese Sprache hasst Windows 7 ...
John Dvorak
10

05AB1E, 7 Bytes

TF'*T×,

Erläuterung

TF      # 10 times do:
  '*T×  # repeat asterisk 10 times
      , # print with newline

Probieren Sie es online aus

Emigna
quelle
1
т'*×Tô»ist eine andere ganz andere lol.
Magic Octopus Urn
TLú'*ζ»Die Verwendung des Zip-Fillers war eine andere Idee, aber eine schlechte.
Magic Octopus Urn
10

R 27 29 Bytes

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

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

Mami
quelle
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);
Krypto
quelle
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

MATL , 8 Bytes

'*'10tX"

Probieren Sie es online!

'*'   % Push '*' (string containing an asterisk)
10t   % Push 10 twice
X"    % Repeat the string 10×10 times. Implicitly display
Luis Mendo
quelle
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.

Sp3000
quelle
7

JavaScript (ES6), 37 Byte

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

Eine klare Antwort.

Nur ASCII
quelle
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.

Nur ASCII
quelle
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>.

nimi
quelle
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")
Frédéric
quelle
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.

Martin Ender
quelle
5

J , 10 9 Bytes

1 Byte danke an @ Adám.

10 10$'*'

Online-Dolmetscher .

Erläuterung

10 10Legt die Dimension für den Operator fest, $der ein Array mit den angegebenen Dimensionen erstellt.

Undichte Nonne
quelle
1
Auch 9 Bytes:'*'$~,~10
Conor O'Brien