Wydrukuj siatkę gwiazdek 10 na 10


83

tło

Jest to standardowy przykład podręcznika do zademonstrowania pętli.

Jest to jeden z pierwszych programów, których nauczyłem się, kiedy zacząłem uczyć się programowania około 10 lat temu.

Zadanie

Masz wydrukować dokładnie ten tekst:

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

Okular

  • Możesz mieć dodatkowe końcowe znaki nowej linii.
  • Możesz mieć dodatkowe spacje końcowe (U + 0020) na końcu każdej linii, w tym dodatkowe nowe linie spacji.

Punktacja

To jest . Najkrótsza odpowiedź w bajtach wygrywa.

Tabela liderów

Oto fragment kodu, który pozwala wygenerować zarówno zwykłą tabelę wyników, jak i przegląd zwycięzców według języka.


2
@DylanMeeus „Musisz wydrukować dokładnie ten tekst:”
Leaky Nun

13
@DylanMeeus Ponieważ ma to związek z narzędziami programistycznymi ukrywającymi powtarzające się wyniki konsoli, i nie jest natywny dla konsol JavaScript jako całości i nie znajduje się w specyfikacji JavaScript - a także z faktu, że tę funkcję można wyłączyć - myślę, że to powinno być do zaakceptowania. Nie wszystkie przeglądarki tak to zwiną.
Trotski94,

6
@ Fragment tabeli liderów proszę!
dkudriavtsev

2
Jedną z najciekawszych rzeczy w tym wyzwaniu jest to, że w zależności od języka ********** może być krótsze niż pętla. Zastanawiam się, kiedy lepiej jest, aby dany język przełączał się między 1 lub 2 pętlami.
dwana

1
mówisz, że końcowe nowe linie są dopuszczalne. Czy dopuszczalne są również nowe linie?
Albert Renshaw,

Odpowiedzi:




65

Bash + coreutils, 19 bajtów

Wolę powtarzać rzeczy w Bash, używając „tak”.

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

Zapisałem 2 bajty według sugestii @ Neila. Ale gdy katalog, w którym uruchomiono to polecenie, zawiera nie tylko pliki zaczynające się od „.” dot trzeba załączyć gwiazdy *z ".

Bash + coreutils, 21 bajtów

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

2
Świetny pomysł w użyciu yes. Zazwyczaj nazywamy takie rozwiązania „Bash + coreutils”.
manatwork

8
Fajnie, że przypadkowo 10 linii jest domyślnie head.
Cyfrowa trauma

3
Czy możesz zapisać dwa bajty, wymagając, aby jakiekolwiek pliki w bieżącym katalogu musiały zaczynać się od .?
Neil

@Neil, czy Twój komentarz dotyczy mojej odpowiedzi? Jeśli tak, nie rozumiem :)
CousinCocaine

1
Możesz także pisać yes \**********|headbez ograniczeń plików.
Florian F,

50

Vim, 13 8 bajtów

Zaoszczędź 5 bajtów dzięki @Lynn

qqi*␛9.o␛q9@q 

10i*␛Y9p

10i*␛wstaw 10 razy *, Y9pskopiuj linię i wklej ją 9 razy.


8
10i*♥Y9pPracuje.
Lynn

1
To szalone vi.
nbubis,

Myślę, że w edytorach tekstu można liczyć naciśnięcia klawiszy zamiast bajtów, co oznacza, że ​​<ESC> byłby krótszy.
addison,

1
Dlaczego ♥, a nie ␛?
CL.

1
Przydałby mi yy9psię, ale dobra robota, używając wielkich liter, aby uratować postać!
Joe Z.,

49

Pyth, 6 bajtów

VT*T\*

Tma 10 w Pyth, Vabwykonuje b aczasy instrukcji , \*jest stałą znaku gwiazdki, a mnożenie ( *) ciągu znaków i liczby całkowitej powtarza ten ciąg n razy. Ukryte drukowanie Pytha oznacza, że ​​drukowanych Vjest 10 wierszy.


40

Sześciokąt, 37 35 34 31

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

Rozszerzony:

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

Wypróbuj online

Zasadniczo ma tylko dwie pętle odliczające od dziesięciu do zera, wypisujące gwiazdkę na wewnętrznej pętli i nową linię na zewnętrznej pętli.

Wyjaśnienie:

Program składa się z trzech głównych części: inicjalizacji pamięci, pętli drukującej dziesięć gwiazdek i pętli drukującej nową linię. Pętla, która wypisuje nową linię, zawiera również pętlę, która wypisuje gwiazdki.

Po pierwsze, kod uruchamia całkowicie liniową inicjalizację pamięci. Kod działa się: 10"+}42. To powoduje, że pamięć pobliskich krawędzi wygląda następująco:

10 \ / 10
    |
   42

42 to kod ASCII dla znaku gwiazdki, a dwa dziesiątki zostaną użyte jako nasze liczniki pętli. Warto zauważyć, że wskaźnik pamięci obecnie wskazuje na dwie dziesiątki, więc cofnięcie się spowoduje umieszczenie nas na jednej z dziesiątek.

Następnie uruchamiamy pętlę drukowania asterysku. Liniowo, kod wygląda następująco: ;".._(. To wypisuje gwiazdkę, przesuwa wskaźnik pamięci do tyłu i w lewo, a na koniec zmniejsza tam wartość. Po jednej iteracji pamięć wyglądałaby następująco:

10 \ / 9
    |
   42

Następnie osiągamy warunek pętli: skrajnie lewy dolny >. Jeśli krawędź, którą właśnie zmniejszyliśmy, jest nadal dodatnia, odbijamy się i wykonujemy a, {aby przenieść nas z powrotem na 42. Następnie wciskamy a $i wracamy do początku pętli drukowania ;, pomijając <. Jeśli wartość wynosiła zero, przechodzimy do drugiej pętli.

Zewnętrzna pętla zaczyna się od zresetowania ostatnio zerowanego brzegu pamięci do dziesięciu (jest to 10w kodzie, jadąc na południowy zachód). Następnie wypisujemy dziesięć jako znak ASCII, który jest nowym wierszem. Następnie przechodzimy na drugą krawędź pamięci i zmniejszyć je {(, a następnie wykonać to, co jest równoznaczne z bandą noops: =${_=. Teraz, po jednej iteracji tej pętli, pamięć wyglądałaby następująco:

 9 \ / 10
    |
   42

Tym razem pamięć jest skierowana na zewnątrz od krawędzi, przechowując dziewięć na powyższym schemacie. Następnie wykonujemy <warunek, który działa jako warunek pętli dla pętli zewnętrznej. Jeśli wartość była niezerowa, odbijamy się od niektórych luster, a następnie ponownie zaczynamy wykonywać sensowne instrukcje po wejściu na szczyt sześciokąta w "ruchu na południowy zachód. To powoduje, że przesuwamy się do tyłu i w lewo, ponownie na 42, ale skierowane do wewnątrz. Następnie =odwraca nasz kierunek, odpowiednio resetując stan, aby ponownie rozpocząć wewnętrzną pętlę. Jeśli krawędź została ustawiona na zero, wskaźnik instrukcji rozpoczyna małą przygodę, która nic nie robi, dopóki nie wyjdzie z programu.

Przygoda rozpoczyna się od wskaźnika instrukcji wyruszającego na północny wschód, niebezpiecznie ignorując bezpieczeństwo głównych kierunków. Odważnie ignoruje lustro, które jest wyrównane z jego kierunkiem ( /) i heroicznie wyskakuje z trampoliny ($) całkowicie omijając śmiertelną pułapkę innej, całkowicie identycznej trampoliny. Wpatrując się w pustkę niezainicjowanych krawędzi sześciokąta, wskaźnik bez wahania dodaje dwie puste krawędzie, które są skierowane do siebie, ustawiając bieżącą krawędź na ich sumę: 0 (krawędź była wcześniej zerowa, ale wskaźnik lubi wierzę, że to było dość ważne). Ponieważ krawędź wynosi zero, wskaźnik wykonuje zakręt w lewo na rozwidleniu drogi, idąc do tajemniczego lasu (sześciokątów). Tam czuje się zdezorientowany, porusza się do przodu, do tyłu i do przodu, aż skończy w tym samym miejscu w pamięci, kiedy zaczął. Myśląc, że problem musi polegać na tym, że ostatnia krawędź została ostatnio ustawiona na zero, wskaźnik dzielnie umieścił a1do aktualnej krawędzi. Następnie szlachetny wskaźnik bada inną ścieżkę, jedną z ... pułapką! Bieżąca krawędź jest zmniejszana i zerowana! Wskaźnik oszołomiony szokującym zwrotem zdarzeń wpada z powrotem w pułapkę, ustawiając bieżącą krawędź na ujemną. Rozwścieczony wskaźnik próbuje wrócić do względnie przyjemnego lasu, ale zauważa, że ​​ponieważ obecna krawędź nie jest dodatnia, ścieżki ponownie się zmieniły i wskaźnik wchodzi do jaskini. A przez jaskinię mam na myśli ujście gigantycznego sześciokątnego robaka. Bezradny wskaźnik przeklina seksualność umierającym oddechem. Ponadto program się kończy.


Golly, mam nadzieję, że robak był w porządku z połknięciem wskaźnika. Te rzeczy mogą zranić .
Joffan,

3
+1 za napisanie najciekawszego - jedynego - wyjaśnienia heksagonii, jakie kiedykolwiek czytałem. Czułem się tak spięty, kiedy krawędź się zmniejszyła!
Joe

37

Emacs, 10 8 naciśnięć klawiszy

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

Wyjaśnienie

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

Dzięki Seanowi za uratowanie dwóch naciśnięć klawiszy, sugerując zastąpienie C-udigitgo C-digit.


9
+1, zawsze oceniam odpowiedzi edytora tekstu (chociaż sam jestem bardziej vim) :)
DJMcMayhem

1
Jeśli C-uliczy się jako jedno naciśnięcie klawisza, możesz ogolić dwa pociągnięcia, wpisując C-1 C-0(lub M-1 M-0) zamiast C-u 1 0i C-9zamiast C-u 9.
Sean

15
+1, ponieważ musiałeś cierpieć z powodu używania emacsa do napisania tego.
addison,

1
Alternatywnie (nic nie zapisuje) powtórzenie wiersza można wykonać wewnątrz makra:F3 C-1 0 * ENTER C-1 0 F4
Jonathan Carroll

@JonathanCarroll tak, to by zaoszczędzić bajty, gdybyśmy wydrukowali więcej niż 10 linii;)
YSC

29

Galaretka , 7 bajtów

”*x⁵Ṅ9¡

Co się dzieje?

”*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)

Przetestuj na tryitonline


9
Naprawdę lubię Ṅ9¡.
Dennis,

Wersja listy: ”*ẋ⁵Wẋ⁵.
Erik the Outgolfer

@EriktheGolfer, którego potrzebujesz Yna końcu, aby „wydrukować ten dokładny tekst”
Jonathan Allan

@JathanathanAllan Jest to jednak lista sama w sobie. Nie ma na celu „wydrukowania tego dokładnego tekstu”, ale jeśli chcesz nad nim popracować, z niego skorzystasz.
Erik the Outgolfer

26

PowerShell, 14 12 bajtów

,('*'*10)*10

Konstruuje ciąg gwiazdek o długości 10za pomocą mnożenia ciągów. Hermetyzuje to w parens i podaje je operatorowi przecinków w celu skonstruowania tablicy. Używamy mnożenia tablic do budowy 10-elementowej tablicy składającej się z tego elementu (tj. 10-elementowej tablicy ciągów gwiazdek). Pozostaje to w potoku, a dane wyjściowe są niejawne (ponieważ domyślna Write-Outputtablica jest oddzielona znakiem nowej linii, otrzymujemy ją za darmo - dzięki @Joey za wyjaśnienie).

Starsze, 14 bajtów

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

Pełny program Pętle od 0do 9przez ForEach-Objectpętlę |%{...}. W każdej iteracji używamy mnożenia ciągów, aby utworzyć 10ciąg długości *. Te powstałe ciągi są pozostawione w potoku, a dane wyjściowe na końcu są niejawne (ponieważ domyślna Write-Outputtablica jest oddzielona znakiem nowej linii, otrzymujemy ją za darmo - dzięki @Joey dla wyjaśnienia).


5
Podoba mi się, ponieważ PowerShell może być tak gadatliwy. Ale to jest eleganckie i krótkie.
dwana

Cóż, technicznie rzecz biorąc tablica nigdy nie jest przekazywana przez ToString, jest rozwijana i przekazywana element po elemencie do Write-Output. W kontekstach, w których tablica jest konwertowana na ciąg, elementy są rozdzielane spacjami.
Joey,

@Joej Ah, jasne, to lepszy sposób, aby to ująć. Zmienię treść (i mój szablon odpowiedzi ;-)).
AdmBorkBork,

1
Mogę być tutaj stronniczy, ponieważ jestem zaangażowany w implementację PowerShell, więc musiałem nauczyć się dużo tego, co naprawdę dzieje się w interpreter;)
Joey,

25

V , 7 bajtów

10é*10Ä

Wypróbuj online!

Odpowiedź jest tak prosta, jak tylko może być.

Wyjaśnienie:

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

Wersja niekonkurencyjna (5 bajtów):

10O±*

Wyjaśnienie:

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

To nie działało, gdy wyzwanie zostało opublikowane z powodu błędu.


Punkt porządku: é i Ę są znakami wielobajtowymi (przynajmniej w utf-8, tak jak je tutaj masz), więc ten program ma 9 bajtów.
rob

6
@rob Są one tutaj zakodowane w utf-8, ponieważ tak właśnie działa przeglądarka. V używa kodowania „Latin1”, tam gdzie są E9i C4odpowiednio.
DJMcMayhem

21

Meduza , 12 10 bajtów

Dzięki Zgarbowi za oszczędność 2 bajtów.

P$'*
 &;10

Wypróbuj online!

Wyjaśnienie

Używając bardziej konwencjonalnej notacji, ten program reprezentuje następujące wyrażenie:

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

&;przyjmuje jedną wartość i tworzy parę z dwukrotnością tej wartości, więc &;(10)daje nam [10 10]. Następnie $przekształca się, tworząc siatkę 10x10 gwiazdek. Na koniec Pwypisuje tablicę w „formacie macierzy”, która drukuje każdy ciąg w osobnej linii.


20

HTML i CSS, 104 60 bajtów

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

Nie jestem pewien, czy liczba bajtów jest poprawna (ponieważ nie liczę <style>tagów dla CSS. HTML może również zostać skrócony, jeśli użyłem preprocesora HTML, ale nie jestem pewien, czy to łamie reguły

Dzięki manatwork i Business Cat.

Zobacz mój wpis Jade z 36 bajtów


Możesz pominąć samozamykające się /i zapisać wszystkie tagi w tym samym wierszu. Ale lepiej zmień tagi, <p>ponieważ są krótsze, nawet jeśli musisz dodać p{margin:0}.
manatwork

2
To nie jest poprawny css. Potrzebujesz wspornika zamykającego!
Richard Hamilton

25
@RichardHamilton ważny css i działający css to nie to samo
undergroundmonorail

1
@ClementNerma Dlaczego ktoś miałby po tym umieszczać kod?
Erik the Outgolfer,

2
ostatnia >wierzę
12Me21

16

Python 2, 22 21 bajtów

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

print(("*"*10+'\n')*10)pracował dla mnie.
piepi

6
@piepi Właśnie dlatego lepiej jest grać w golfa w Python 2 - nie potrzebujesz nawiasów podczas rozmowy print.
shooqie,

@shooqie Nie można pokonać rozwiązania Python3 za pomocą Python2. Python2 i Python3 to różne języki. Nie można również porównać rozwiązania Python2 ze specjalistycznym językiem golfa, takim jak Pyth.
Alfe

16

MATLAB, 14 bajtów

repmat('*',10)

Nie mam MATLAB-a, aby to przetestować, więc nie jestem pewien, czy między literami jest spacja *.
Erik the Outgolfer

@EriktheGolfer najwyraźniej nie :)
PieCot

matsugeruje matrycę, dlatego zapytałem.
Erik the Outgolfer

2
@EriktheGolfer przepraszam, byłem niegrzeczny. Mat faktycznie odnosi się do macierzy, ale w tym przypadku jest to macierz char, czyli tablica ciągów znaków (każdy wiersz jest jak ciąg znaków). Tak więc macierz wypukła jest drukowana jeden wiersz dla linii, bez odstępów między elementami tego samego rzędu.
PieCot

16

APL , 9 bajtów

Działa na wszystkich APL-ach, jakie kiedykolwiek stworzono.

10 10'*'

10 10 dziesięć rzędów i dziesięć kolumn

 cykliczne R epeating

'*' gwiazda

Wypróbuj APL online!


Warto zauważyć, że to rozwiązanie nie jest specyficzne dla Dyalogu; działa również z GNU APL.
Arc676,

3
@ Arc676 Prawda. W rzeczywistości działa na wszystkich APL-ach, jakie kiedykolwiek stworzono.
Adám

argh, potrzebuję jeszcze jednego bajtu ... Prawie∘.⊢⍨⍕⍨,⍨5
pobiłem cię

@ngn To cudownie okropne!
Adám

14

Java 7, 63 bajty

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

Tylko dla kopnięć. Nie mogę znaleźć żadnych sztuczek, które mogłyby to skrócić. Próba dodania logiki dla pętli 100 lub zwrócenie ciągu zamiast drukowania po prostu kończy się gorzej.


1
Możesz go ogolić o jeden bajt, jeśli zadeklarujesz ijako zmienną klasową (domyślnie jest to 0):int i;void f(){for(;i++<10;)System.out.println("**********");}
shooqie

1
To by zepsuło możliwość ponownego użycia, chyba że zrobiłbym to i=0gdzieś w tej funkcji, negując oszczędności.
Geobits,

3
+1 Wydaje się, że jesteś rzeczywiście prawda, że jest to najkrótsza .. Recursive wynosi 65 bajty: int i=10;void f(){System.out.println("**********");if(i-->0)g();}; Jeden po drugim rekursywnego wynosi 67 bajty: int i=99;void f(){System.out.print(i%10<1?"*\n":"*");if(i-->0)g();}; Korzystanie String konstruktora char-tablicy jest 82 bajtów: void g(){System.out.print(new String(new char[10]).replace("\0","**********\n"));}; a string.Format jest 81 bajtów: void g(){System.out.print(String.format("%010d",0).replace("0","**********\n"));}. Ach, próbowaliśmy. ;)
Kevin Cruijssen

2
Ale czy to się liczy bez konieczności dodawania samej deklaracji klasy? Jaki jest najkrótszy pełny program java7, który może to zrobić?
jsbueno

1
Musisz policzyć wyciąg z importu, aby nie przyniósł on oszczędności.
Geobits,

14

Ruby, 15 znaków

puts [?**10]*10

Przykładowy przebieg:

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

Czy potrafisz wyjaśnić ?**10? Rzeczywiście tworzy ciąg dziesięciu gwiazdek, ale nie jestem
pewien,

3
Jest ?to dosłowny zapis postaci, więc ?* == '*'. Druga *to String.*metoda , więc ?**10 == '*'.*(10).
manatwork,

Obawiam się, że wciąż nie rozumiem, dlaczego ?jest dosłowne oznaczenie czegokolwiek, ale być może niektóre pytania lepiej pozostawić bez odpowiedzi. ;)
erich2k8

Przepraszam, nie mogę znaleźć na ten temat żadnych odniesień. Jest to po prostu składnia Ruby, która pozwala na różne notacje dosłowne łańcucha plus jeden w przypadku, gdy łańcuch ma 1 znak: ?znak, po którym następuje znak, bez konieczności zamykania pary ?znaku.
manatwork,

1
Znalazłem to w referencji tutaj: 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

Notatnik, 34 31 naciśnięć klawiszy

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

^ oznacza naciśnięcie klawisza Ctrl- <następujący znak>, ↑ ↓ to odpowiednio klawisze góra i dół.

Rekwizyty do Crypto za 3 zapisane naciśnięcia klawiszy.


2
Powinieneś użyć klawiszy, aby to policzyć.
Leaky Nun

1
To Shift + strzałka w górę. Ctrl + Up to coś innego.
Neil

1
31 naciśnięć klawiszy**********↵^A^C↓^V^A^C↓^V^V^V^V
Crypto

1
26 naciśnięć klawiszy*****^A^C^V^V↵^A^C^V^A^C^V^V^V^V^V
Andy

5
23 naciśnięcia klawiszy**^A^C^V^V^V^V^V↵^A^C^V^V^A^C^V^V^V^V^V
Andy

13

Emojicode , 54 bajty

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

Wyjaśnienie:

🏁🍇                        👴 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
Liczę 54 bajty utf-8.
Conor O'Brien

Ten język nienawidzi Windows 7 ...
John Dvorak


10

R, 27 29 bajtów

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

Alternatywna odpowiedź (34 bajty) to: cat(rep('**********',10),sep='\n')


Dodaje to dodatkową spację na początku wszystkich linii oprócz pierwszej (patrz tutaj ).
plannapus

Dzięki, działa dodawanie \r.
Mamie,

1
Inna alternatywa, zbyt wiele (37) bajtów: cat(matrix('*',10,10),fill=10,sep='') skrzypce r
Jonathan Carroll

Inna alternatywa, również 29 bajtów:write(rep("*",100),"",10,,"")
Giuseppe,

1
Ma write(rep("**",50),1,5,,"")27 bajtów i pozwala uniknąć pierwszego powrotu karetki.
J.Doe

9

PHP, 32 bajty

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

(wariant 32 bajtów - napisano za pomocą echo)

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

(wariant 33 bajtów)

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

(wariant 33 bajtów)

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

(wariant 35 bajtów)

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

(wariant 38 bajtów)

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

3
Drugi można też zagrać w golfa do 32 bajtów :<?=str_repeat("**********↵",10);
inserttusernamehere

1
Ponieważ masz już całkiem niezłą kolekcję alternatyw, oto kolejna zabawa: echo chunk_split(str_repeat("*",100),10);jak dotąd najdłuższa, według mojej wizji jest to sposób PHP.
manatwork

Może być krótszy bajt z kodowaniem WIN-1252: for(;++$i<111;)echo$i%11?~Õ:~õ;lubfor(;++$i<11;)echo~ÕÕÕÕÕÕÕÕÕÕõ;
aross

Inny wariant modulo przez 33 bajtów: for(;$i++<110;)echo"*↵"[$i%11<1];. I dodać 37 bajtów rozwiązanie tej kolekcji: for(;$i++<110;)echo chr($i%11?42:10);.
Titus


8

Brainfuck, 46 43 bajtów

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

Wypróbuj online! Wymaga interpretera z taśmą, która jest otwarta po lewej stronie i ma 8-bitowe komórki.

Pierwsza część tego programu +[[---<]+[-->]<]konfiguruje taśmę w następujący sposób:

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

Daje to 40 do wyprowadzenia gwiazdek ( *, ASCII 42), 20 do użycia jako licznik pętli i 10 do użycia do wypuszczenia nowych linii.


7

JavaScript (ES6), 37 bajtów

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

Prosta odpowiedź.


5
Nie możesz zaoszczędzić 6 za pomocą alert?
Kevin L

1
Prawdopodobnie możesz zapisać 13 bajtów, usuwając console.log()i podając REPLw tytule.
Patrick Roberts,

6

Cheddar, 21 20 bajtów

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

Kolejna prosta odpowiedź.


4
Użyj dosłownie nowego wiersza, aby zapisać 1 bajt
Leaky Nun

2
Czy może to funkcja korzystająca ->zamiast drukowania?
Downgoat

6

Haskell, 29 bajtów

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

<list1> >> <list2>wykonuje (length <list1>)kopie <list2>.


6

R, 35 33 32 bajty

Ô R, czasami jesteś taki gadatliwy .

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

Co ciekawe, catfunkcja nie ma wartości (zapewnia NULLSTDOUT), więc nie możesz zrobić czegoś takiego rep(cat(rep))), co byłoby zabawniejsze!

EDYCJA:
Nowe rozwiązanie zaproponowane przez @LeakyNun, -2 bajty.

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

EDYCJA: Skrócenie go tylko o 1 bajt, o @ user5957401

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

3
for(i in 1:10)"**********\n"
Leaky Nun

1
@LeakyNun: Prostota jest kluczem! Miałem catjednak, bo inaczej nic nie da.
Frédéric

cat(rep("**********\n",10))
Leaky Nun

@LeakyNun Nie dałoby pożądanego wyniku: patrz tutaj . Domyślnym separatorem w catjest spacja, stąd to wyjście.
plannapus

5

Siatkówka , 12 bajtów

Liczba bajtów zakłada kodowanie ISO 8859-1. Wiodące podawanie linii jest znaczące.


10$**
.
$_¶

Pierwszy etap zapisuje ciąg dziesięciu gwiazdek, drugi etap zastępuje każdą gwiazdkę całym ciągiem i przesuwem wiersza. Spowoduje to wydrukowanie dwóch końcowych linii.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.