In một lưới 10 trên 10 dấu hoa thị


83

Lý lịch

Đây là một ví dụ trong sách giáo khoa tiêu chuẩn để chứng minh cho các vòng lặp.

Đây là một trong những chương trình đầu tiên tôi học được khi tôi bắt đầu học lập trình ~ 10 năm trước.

Bài tập, nhiệm vụ

Bạn phải in văn bản chính xác này:

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

Thông số kỹ thuật

  • Bạn có thể có thêm dòng mới.
  • Bạn có thể có thêm khoảng trắng ở cuối (U + 0020) ở cuối mỗi dòng, bao gồm cả các dòng mới.

Chấm điểm

Đây là . Câu trả lời ngắn nhất trong byte thắng.

Bảng xếp hạng

Dưới đây là một Stack Snippet để tạo cả bảng xếp hạng thông thường và tổng quan về người chiến thắng theo ngôn ngữ.


2
@DylanMeeus "Bạn phải in văn bản chính xác này :"
Leaky Nun

13
@DylanMeeus Vì điều đó là để làm với các công cụ dev ẩn các đầu ra giao diện điều khiển lặp đi lặp lại và không có nguồn gốc từ các bảng điều khiển JavaScript nói chung và không có trong đặc tả JavaScript - cũng như thực tế là tính năng này có thể bị tắt - tôi nghĩ nó nên được chấp nhận Không phải tất cả các trình duyệt sẽ sụp đổ nó như thế.
Trotski94

6
@LeakyNun Đoạn trích bảng dẫn xin vui lòng!
dkudriavtsev

2
Một trong những điều thú vị nhất về cuộc trò chuyện này là tùy thuộc vào ngôn ngữ của bạn ********** có thể ngắn hơn một vòng lặp. Làm cho tôi tự hỏi khi một ngôn ngữ nhất định tốt hơn để chuyển đổi giữa 1 hoặc 2 vòng.
dwana

1
bạn nói dòng mới được chấp nhận. Là hàng đầu mới được chấp nhận quá?
Albert Renshaw

Câu trả lời:




65

Bash + coreutils, 19 byte

Tôi thích lặp lại những thứ trong Bash bằng cách sử dụng 'có'.

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

Tôi đã lưu 2 byte theo đề nghị của @ Neil. Nhưng khi thư mục nơi bạn đang chạy lệnh này không chỉ chứa các tệp bắt đầu bằng '.' dấu chấm bạn cần kèm theo các ngôi sao *với ".

Bash + coreutils, 21 byte

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

2
Ý tưởng tuyệt vời để sử dụng yes. Chúng tôi thường gắn nhãn các giải pháp như là Bash Bash + coreutils.
manatwork

8
Rất vui khi 10 dòng trùng hợp ngẫu nhiên là mặc định cho head.
Chấn thương kỹ thuật số

3
Bạn có thể lưu hai byte bằng cách yêu cầu bất kỳ tệp nào trong thư mục hiện tại phải bắt đầu bằng a .không?
Neil

@Neil, bình luận của bạn cho câu trả lời của tôi? Nếu vậy, tôi không hiểu được :)
CousinCocaine

1
Bạn cũng có thể viết yes \**********|headmà không bị hạn chế về tập tin.
Florian F

50

Vim, 13 8 byte

Đã lưu 5 byte nhờ @Lynn

qqi*␛9.o␛q9@q 

10i*␛Y9p

10i*␛chèn 10 lần *, và Y9psao chép dòng và dán nó 9 lần.


8
10i*♥Y9plàm.
Lynn

1
Điều đó thật điên rồ.
nbubis

Tôi nghĩ rằng bạn có thể đếm tổ hợp phím thay vì byte cho trình soạn thảo văn bản, điều đó có nghĩa là <ESC> sẽ ngắn hơn.
addison

1
Tại sao ♥ mà không phải ␛?
CL.

1
Tôi đã sử dụng yy9pbản thân mình, nhưng công việc tốt đẹp bằng cách sử dụng thủ đô để cứu một nhân vật!
Joe Z.

49

Bình thường, 6 byte

VT*T\*

Tlà 10 trong Pyth, Vabthực hiện b athời gian câu lệnh , \*là hằng ký tự dấu hoa thị và nhân ( *) một chuỗi và một số nguyên lặp lại chuỗi đó n lần. In ngầm của Pyth với Vnghĩa là 10 dòng được in.


40

Lục giác, 37 35 34 31

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

Mở rộng:

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

Dùng thử trực tuyến

Về cơ bản chỉ có hai vòng lặp đếm ngược từ mười đến không, in ra một dấu sao ở vòng lặp bên trong và một dòng mới ở vòng ngoài.

Giải trình:

Chương trình này bao gồm ba phần chính: khởi tạo bộ nhớ, một vòng lặp in mười dấu sao và một vòng lặp in một dòng mới. Vòng lặp in một dòng mới cũng chứa vòng lặp in các dấu sao.

Đầu tiên, mã chạy khởi tạo bộ nhớ tuyến tính hoàn toàn. Các mã làm việc là : 10"+}42. Điều này đặt bộ nhớ của các cạnh gần giống như:

10 \ / 10
    |
   42

42 là mã ASCII cho ký tự dấu hoa thị và hai hàng chục sẽ được sử dụng làm bộ đếm vòng lặp của chúng tôi. Đáng chú ý là con trỏ bộ nhớ hiện đang chỉ ra từ hai hàng chục, vì vậy việc di chuyển ngược sẽ đưa chúng ta vào một trong hàng chục.

Tiếp theo, chúng tôi bắt đầu vòng in astersisk. Tuyến tính, mã trông như : ;".._(. Điều này in ra một dấu sao, di chuyển con trỏ bộ nhớ về phía sau và sang trái và cuối cùng làm giảm giá trị ở đó. Sau một lần lặp, bộ nhớ sẽ như sau:

10 \ / 9
    |
   42

Sau đó, chúng tôi nhấn điều kiện vòng lặp: dưới cùng bên trái >. Nếu cạnh mà chúng ta vừa giảm vẫn còn dương, chúng ta sẽ nhảy xung quanh và thực hiện một {để di chuyển chúng ta trở lại 42. Sau đó, chúng ta nhấn a $và quay lại điểm bắt đầu của vòng in ;, bằng cách bỏ qua <. Nếu giá trị bằng 0, chúng ta sẽ đi vào vòng lặp khác.

Vòng lặp bên ngoài bắt đầu bằng cách đặt lại cạnh bộ nhớ zero gần đây thành mười (đây là 10mã trong hướng tây nam). Sau đó, chúng tôi in ra mười ký tự này dưới dạng ký tự ASCII, đây là một dòng mới. Tiếp theo, chúng tôi di chuyển lên cạnh bộ nhớ khác và giải phóng nó với {(và sau đó thực hiện số tiền cho một loạt các tiếng ồn : =${_=. Bây giờ, sau một lần lặp của vòng lặp này, bộ nhớ sẽ trông như sau:

 9 \ / 10
    |
   42

Lần này, bộ nhớ hướng ra ngoài từ cạnh lưu trữ một số chín trong sơ đồ trên. Tiếp theo chúng ta thực hiện <cái đóng vai trò là điều kiện vòng lặp cho vòng lặp bên ngoài. Nếu giá trị khác không, chúng ta sẽ bật ra khỏi một số gương, sau đó bắt đầu thực hiện lại các hướng dẫn có ý nghĩa sau khi vào đỉnh của hình lục giác ở "phía tây nam di chuyển. Điều này khiến chúng ta di chuyển lùi và sang trái, vào số 42 một lần nữa, nhưng hướng vào trong. Sau đó, =lật hướng của chúng tôi, đặt lại trạng thái đúng cách để bắt đầu lại vòng lặp bên trong. Nếu cạnh được đặt thành 0, con trỏ lệnh sẽ tiếp tục một cuộc phiêu lưu nhỏ mà không làm gì cho đến khi nó thoát khỏi chương trình.

Cuộc phiêu lưu bắt đầu bằng con trỏ chỉ dẫn mạo hiểm về phía đông bắc, coi thường sự an toàn của các hướng hồng y. Nó dũng cảm bỏ qua một chiếc gương được căn chỉnh với diretion ( /) và anh hùng nhảy ra khỏi tấm bạt lò xo ($) hoàn toàn trốn tránh cái bẫy chết người của một tấm bạt lò xo hoàn toàn giống hệt nhau. Nhìn chằm chằm vào sự trống rỗng của các cạnh lục giác chưa được khởi tạo, con trỏ, không chùn bước một lúc, thêm hai cạnh trống mà nó phải đối mặt với nhau, đặt cạnh hiện tại thành tổng của chúng: 0 (cạnh thực sự bằng 0, nhưng con trỏ thích tin rằng điều này là khá quan trọng). Vì cạnh bằng 0, con trỏ rẽ trái ở ngã ba đường, đi vào một khu rừng bí ẩn (hình lục giác). Ở đó, nó thấy mình mất phương hướng, di chuyển tiến lên và lùi lại, cho đến khi nó cuộn lên tại cùng một vị trí trong bộ nhớ khi nó bắt đầu. Nghĩ rằng vấn đề phải là cạnh hiện tại đã được đặt thành 0 lần trước, con trỏ mạnh dạn trồng cây1vào cạnh hiện tại. Sau đó, con trỏ cao quý điều tra một con đường khác, một con được đặt bằng ... một cái bẫy! Các cạnh hiện tại được giảm và đặt trở về không! Con trỏ, bị choáng váng bởi sự kiện gây sốc, quay trở lại cái bẫy đặt cạnh hiện tại thành âm. Bực mình, con trỏ cố gắng trở về khu rừng tương đối dễ chịu, chỉ để ý rằng vì cạnh hiện tại không tích cực, các con đường đã một lần nữa dịch chuyển và con trỏ thấy mình đang đi vào một hang động. Và bởi một cái hang, ý tôi là miệng của một con sâu lục giác khổng lồ. Bất lực, con trỏ nguyền rủa sự gợi cảm bằng hơi thở hấp hối của nó. Ngoài ra, chương trình kết thúc.


Golly, tôi hy vọng con sâu vẫn ổn với việc nuốt một con trỏ. Những điều đó có thể làm tổn thương .
Joffan

3
+1 để viết một bản giải thích thú vị nhất về bộ ba Hexagony mà tôi từng đọc. Tôi cảm thấy rất căng thẳng khi cạnh bị giảm!
Joe

37

Emacs, 10 8 tổ hợp phím

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

Giải trình

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

Cảm ơn Sean vì đã lưu hai tổ hợp phím, đề nghị thay thế C-udigitbằng C-digit.


9
+1, tôi luôn nâng cao câu trả lời của trình soạn thảo văn bản (mặc dù bản thân tôi là một người thích vim hơn) :)
DJMcMayhem

1
Nếu C-uđược tính là chỉ một lần nhấn phím, thì bạn có thể cạo sạch hai nét bằng cách gõ C-1 C-0(hoặc M-1 M-0) thay vì C-u 1 0C-9thay vì C-u 9.
Sean

15
+1 vì bạn đã phải chịu đựng thông qua việc sử dụng emacs để viết này.
addison

1
Ngoài ra (không tiết kiệm gì) việc lặp lại dòng có thể được thực hiện trong macro:F3 C-1 0 * ENTER C-1 0 F4
Jonathan Carroll

@JonathanCarroll có, nó sẽ tiết kiệm byte nếu chúng tôi in hơn 10 dòng;)
YSC

29

Thạch , 7 byte

”*x⁵Ṅ9¡

Chuyện gì đang xảy ra vậy?

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

Kiểm tra nó trên tryitonline


9
Tôi thực sự thích Ṅ9¡.
Dennis

Danh sách phiên bản : ”*ẋ⁵Wẋ⁵.
Erik the Outgolfer

@EriktheGolfer Ycuối cùng bạn cần "in văn bản chính xác này"
Jonathan Allan

@Jonathan ALLan Mặc dù vậy, đây là một danh sách. Nó không có nghĩa là "in văn bản chính xác này", nhưng, nếu bạn muốn làm việc với nó, bạn sẽ sử dụng nó.
Erik the Outgolfer

26

PowerShell, 14 12 byte

,('*'*10)*10

Xây dựng một chuỗi các dấu sao có độ dài 10bằng cách nhân chuỗi. Đóng gói rằng trong parens và feed mà vào toán tử dấu phẩy để xây dựng một mảng. Chúng tôi sử dụng phép nhân mảng để xây dựng mảng 10 phần tử bao gồm phần tử đó (nghĩa là mảng 10 phần tử của chuỗi dấu hoa thị). Điều đó còn lại trên đường ống và đầu ra là ẩn (vì mặc định Write-Outputcho một mảng được phân tách bằng dòng mới, chúng tôi có được điều đó miễn phí - cảm ơn @Joey đã làm rõ).

Cũ hơn, 14 byte

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

Chương trình đầy đủ. Vòng lặp từ 0đến9 qua một ForEach-Objectvòng lặp |%{...}. Mỗi lần lặp, chúng tôi sử dụng phép nhân chuỗi để tạo 10chuỗi dài *. Các chuỗi kết quả đó được để lại trên đường ống và đầu ra ở cuối là ẩn (vì mặc định Write-Outputcho một mảng được phân tách bằng dòng mới, chúng tôi có được điều đó miễn phí - cảm ơn @Joey đã làm rõ).


5
Tôi thích nó, bởi vì powershell có thể rất dài dòng. Tuy nhiên, điều này là thanh lịch và ngắn.
dwana

Vâng, về mặt kỹ thuật, mảng không bao giờ được chuyển qua a ToString, nó không được kiểm soát và chuyển phần tử theo phần tử cho Đầu ra ghi. Trong bối cảnh mà mảng được chuyển đổi thành một chuỗi, bạn sẽ tách các phần tử của nó thành không gian.
Joey

@Joey Ah, công bằng, đó là một cách tốt hơn để đặt nó. Tôi sẽ chỉnh sửa từ ngữ (và mẫu câu trả lời của tôi ;-)).
admBorkBork

1
Tôi có thể bị thiên vị ở đây vì tôi có liên quan đến việc triển khai PowerShell vì vậy tôi đã phải học rất nhiều điều thực sự diễn ra bên trong trình thông dịch;)
Joey

25

V , 7 byte

10é*10Ä

Hãy thử trực tuyến!

Về đơn giản như một câu trả lời có thể được.

Giải trình:

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

Phiên bản không cạnh tranh (5 byte):

10O±*

Giải trình:

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

Điều này đã không hoạt động khi thử thách được đăng vì một lỗi.


Điểm thứ tự: é và Ä là các ký tự đa nhân (ít nhất là trong utf-8, như bạn có chúng ở đây) nên chương trình này dài 9 byte.
cướp

6
@rob Chúng được mã hóa trong utf-8 ở đây, vì đó chỉ là cách trình duyệt hoạt động. V sử dụng mã hóa "Latin1", nơi chúng E9C4tương ứng.
DJMcMayhem

21

Sứa , 12 10 byte

Cảm ơn Zgarb đã lưu 2 byte.

P$'*
 &;10

Hãy thử trực tuyến!

Giải trình

Sử dụng ký hiệu thông thường hơn, chương trình này biểu thị biểu thức sau:

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

&;nhận một giá trị duy nhất và tạo một cặp có hai lần giá trị đó, vì vậy &;(10)cung cấp cho chúng tôi [10 10]. Sau đó, $định hình lại tạo thành một lưới các dấu sao 10 x 10. Cuối cùng, Pin mảng theo "định dạng ma trận" in từng chuỗi trên dòng riêng của nó.


20

HTML & CSS, 104 60 byte

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

Tôi không chắc số đếm byte có đúng không (vì tôi không đếm các <style>thẻ cho CSS. HTML cũng có thể được rút ngắn nếu tôi sử dụng bộ tiền xử lý HTML, nhưng tôi không chắc nếu điều đó vi phạm quy tắc

Cảm ơn manatwork và Business Cat.

Xem mục nhập Ngọc của tôi là 36 byte


Bạn có thể bỏ qua các tự đóng /và viết tất cả các thẻ trong cùng một dòng. Nhưng tốt hơn nên thay đổi các thẻ thành <p>vì nó ngắn hơn ngay cả khi bạn cần thêm p{margin:0}.
manatwork

2
Đây không phải là hợp lệ css. Bạn cần khung đóng cửa!
Richard Hamilton

25
@RichardHamilton css hợp lệ và css làm việc không phải là điều tương tự
undergroundmonorail

1
@ClementNerma Tại sao mọi người nên đặt mã sau này?
Erik the Outgolfer

2
bạn có thể rời khỏi cuối cùng >tôi tin
12Me21

16

Con trăn 2 22 21 byte

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

print(("*"*10+'\n')*10)đã làm cho tôi.
piepi

6
@piepi Đó là lý do tại sao bạn thường chơi golf tốt hơn trong Python 2 - bạn không cần dấu ngoặc khi gọi print.
shooqie

@shooqie Bạn không thể đánh bại giải pháp Python3 bằng Python2. Python2 và Python3 là các ngôn ngữ khác nhau. Bạn cũng sẽ không so sánh giải pháp Python2 với ngôn ngữ golf chuyên dụng như Pyth.
Alfe

16

MATLAB, 14 byte

repmat('*',10)

Tôi không có MATLAB để kiểm tra điều này, vì vậy tôi không chắc liệu điều này có khoảng cách giữa các *s không.
Erik the Outgolfer

@EriktheGolfer rõ ràng là không :)
PieCot

matgợi ý một ma trận, đó là lý do tại sao tôi hỏi.
Erik the Outgolfer

2
@EriktheGolfer xin lỗi, tôi thật thô lỗ. Mat, trên thực tế, đề cập đến một ma trận, nhưng trong trường hợp này là một ma trận char, đó là một chuỗi các chuỗi (mỗi hàng giống như một chuỗi). Vì vậy, ma trận outupt được in một hàng cho dòng, không có khoảng trắng giữa các phần tử của cùng một hàng.
PieCot

16

APL , 9 byte

Hoạt động trên tất cả các APL từng được thực hiện.

10 10'*'

10 10 mười hàng và mười cột

 tuần hoàn r epeat

'*' một ngôi sao

Dùng thử trực tuyến!


Điều đáng chú ý là giải pháp này không dành riêng cho Dyalog; nó cũng hoạt động với GNU APL.
Arc676

3
@ Arc676 Đúng. Trong thực tế, nó hoạt động trên tất cả các APL từng được thực hiện.
Adám

argh, tôi chỉ cần thêm một byte ... Tôi gần như đánh bại bạn bằng thủ thuật "định dạng":∘.⊢⍨⍕⍨,⍨5
ngn

@ngn Thật là kinh khủng!
Adám

14

Java 7, 63 byte

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

Chỉ để đá. Tôi dường như không thể tìm thấy bất kỳ thủ thuật để làm cho điều này ngắn hơn. Cố gắng thêm logic cho 100 vòng lặp hoặc trả về Chuỗi thay vì in chỉ kết thúc tệ hơn.


1
Bạn có thể tắt nó đi một byte nếu bạn khai báo ilà biến lớp (nó mặc định là 0):int i;void f(){for(;i++<10;)System.out.println("**********");}
shooqie

1
Điều đó sẽ phá vỡ khả năng sử dụng lại trừ khi tôi đã làm i=0ở đâu đó trong chức năng, phủ nhận khoản tiết kiệm.
Geobits

3
+1 Có vẻ như bạn thực sự đúng rằng đây là ngắn nhất .. Đệ quy là 65 byte : int i=10;void f(){System.out.println("**********");if(i-->0)g();}; Lần lượt từng đệ quy là 67 byte : int i=99;void f(){System.out.print(i%10<1?"*\n":"*");if(i-->0)g();}; Sử dụng String-constructor với char-Array là 82 byte : void g(){System.out.print(new String(new char[10]).replace("\0","**********\n"));}; và String.format là 81 byte : void g(){System.out.print(String.format("%010d",0).replace("0","**********\n"));}. Ah tốt, chúng tôi đã cố gắng. ;)
Kevin Cruijssen

2
Nhưng nó có tính mà không phải thêm khai báo lớp không? Chương trình đầy đủ java7 ngắn nhất có thể làm điều này là gì?
jsbueno

1
Bạn phải tính báo cáo nhập khẩu, vì vậy nó sẽ không hoạt động để tiết kiệm ở đây.
Geobits

14

Ruby, 15 ký tự

puts [?**10]*10

Chạy mẫu:

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

Bạn có thể giải thích ?**10? Nó thực sự tạo ra một chuỗi mười dấu sao, nhưng tôi không rõ bằng cách nào ...
erich2k8

3
Đây ?là ký hiệu nghĩa đen của nhân vật, vì vậy ?* == '*'. Thứ 2 *String.*phương pháp , vì vậy ?**10 == '*'.*(10).
manatwork

Sợ tôi vẫn không hiểu tại sao ?ký hiệu theo nghĩa đen của bất cứ điều gì, nhưng có lẽ một số câu hỏi tốt hơn là không được trả lời. ;)
erich2k8

Xin lỗi, tôi không thể tìm thấy bất kỳ tài liệu tham khảo về điều này. Chỉ đơn giản là cú pháp Ruby, cho phép các ký hiệu chuỗi ký tự khác nhau cộng với một ký tự trong trường hợp chuỗi dài 1 ký tự: một ?dấu theo sau ký tự, mà không yêu cầu một cặp ?dấu đóng.
manatwork

1
Tôi tìm thấy nó trong tài liệu tham khảo ở đây: 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

Notepad, 34 31 tổ hợp phím

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

^ biểu thị Ctrl- <ký tự sau> nhấn phím, ↑ lần lượt là các phím lên và xuống.

Đạo cụ cho Crypto trong 3 lần nhấn phím đã lưu.


2
Bạn nên sử dụng tổ hợp phím để đếm cái này.
Leaky Nun

1
Đó là Shift + Up. Ctrl + Up là một cái gì đó khác.
Neil

1
31 tổ hợp phím**********↵^A^C↓^V^A^C↓^V^V^V^V
Crypto

1
26 tổ hợp phím*****^A^C^V^V↵^A^C^V^A^C^V^V^V^V^V
Andy

5
23 tổ hợp phím**^A^C^V^V^V^V^V↵^A^C^V^V^A^C^V^V^V^V^V
Andy

13

Biểu tượng cảm xúc , 54 byte

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

Giải trình:

🏁🍇                        👴 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
Tôi đếm 54 utf-8 byte.
Conor O'Brien

Ngôn ngữ này ghét thứ 7 ...
John Dvorak


10

R, 27 29 byte

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

Một câu trả lời thay thế (34 byte) là: cat(rep('**********',10),sep='\n')


Điều này thêm một khoảng trắng ở đầu của tất cả các dòng ngoại trừ dòng đầu tiên (xem tại đây ).
plannapus

Cảm ơn, nó hoạt động thêm \r.
Mamie

1
Một cách khác, quá nhiều (37) byte: cat(matrix('*',10,10),fill=10,sep='') r-fiddle
Jonathan Carroll

Một cách khác, cũng là 29 byte:write(rep("*",100),"",10,,"")
Giuseppe

1
write(rep("**",50),1,5,,"")là 27 byte và tránh trả lại vận chuyển đầu tiên.
J.Doe

9

PHP, 32 byte

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

(biến thể 32 byte - được viết bằng echo)

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

(biến thể 33 byte)

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

(biến thể 33 byte)

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

(biến thể 35 byte)

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

(biến thể 38 byte)

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

3
Cái thứ hai cũng có thể được chơi thành 32 byte :<?=str_repeat("**********↵",10);
insertusernamehere vào

1
Như bạn đã có một bộ sưu tập tốt đẹp của giải pháp thay thế, đây là một cho vui: echo chunk_split(str_repeat("*",100),10);dài nhất cho đến nay, chỉ trong tầm nhìn của tôi đây là những cách PHP để làm điều đó.
manatwork

Có thể ngắn hơn một byte với mã hóa WIN-1252: for(;++$i<111;)echo$i%11?~Õ:~õ;hoặcfor(;++$i<11;)echo~ÕÕÕÕÕÕÕÕÕÕõ;
qua

Một biến thể modulo khác cho 33 byte : for(;$i++<110;)echo"*↵"[$i%11<1];. Và để thêm một giải pháp 37 byte vào bộ sưu tập đó : for(;$i++<110;)echo chr($i%11?42:10);.
Tít


8

Brainfuck, 46 43 byte

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

Hãy thử trực tuyến! Yêu cầu một trình thông dịch với một băng mở ở bên trái và có các ô 8 bit.

Phần đầu tiên của chương trình này +[[---<]+[-->]<]thiết lập băng như vậy:

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

Điều này mang lại 40 cho đầu ra dấu sao ( *, ASCII 42), 20 để sử dụng làm bộ đếm vòng lặp và 10 để sử dụng cho đầu ra dòng mới.


7

JavaScript (ES6), 37 byte

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

Một câu trả lời thẳng thắn.


5
Bạn có thể tiết kiệm 6 bằng cách sử dụng alert?
Kevin L

1
Có thể cho rằng bạn có thể lưu 13 byte bằng cách xóa console.log()và chỉ định REPLtrong tiêu đề.
Patrick Roberts

6

Cheddar, 21 20 byte

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

Một câu trả lời đơn giản khác.


4
Sử dụng một dòng mới theo nghĩa đen để tiết kiệm 1 byte
Leaky Nun

2
Làm cho nó một chức năng sử dụng ->thay vì in có thể?
Hạ xuống

6

Haskell, 29 byte

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

<list1> >> <list2>làm (length <list1>)bản sao của <list2>.


6

R, 35 33 32 byte

Ô R, đôi khi bạn thật dài dòng .

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

Thật thú vị, cathàm này không có giá trị (nó cung cấp NULLcho STDOUT), vì vậy bạn không thể làm điều gì đó giống như rep(cat(rep))), điều đó sẽ buồn cười hơn!

BIÊN TẬP :
Giải pháp mới được đề xuất bởi @LeakyNun, -2 byte.

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

EDIT: Rút ngắn chỉ bằng 1 byte, bởi @ user5957401

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

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

1
@LeakyNun: Đơn giản là chìa khóa! Tôi đã có catdù sao, nếu không nó không tạo ra gì.
Frédéric

cat(rep("**********\n",10))
Rò rỉ Nun

@LeakyNun Nó sẽ không tạo ra đầu ra mong muốn: xem tại đây . Dấu phân cách mặc định catlà một khoảng trắng, do đó đầu ra này.
plannapus

5

Võng mạc , 12 byte

Số lượng byte giả định mã hóa ISO 8859-1. Các nguồn cấp dữ liệu hàng đầu là đáng kể.


10$**
.
$_¶

Giai đoạn đầu tiên viết một chuỗi mười dấu sao, giai đoạn thứ hai thay thế mỗi dấu hoa thị bằng toàn bộ chuỗi và một nguồn cấp dữ liệu. Điều này in hai nguồn cấp dữ liệu.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.