Tạo một fractal mandelbrot [đóng]


51

Nhiệm vụ của bạn là vẽ mandelbrot đặt trong ascii. Nó sẽ trông giống như nhập mô tả hình ảnh ở đây

Số phức cnằm trong bộ mandelbrot, khi chuỗi z(n+1) = z(n)^2 + c, z(0) = 0vẫn bị giới hạn. Với mục đích của thử thách này, bạn có thể xem xét trình tự giới hạn cnếu |z(32)| < 2.

Vẽ sơ đồ mandelbrot trên mặt phẳng phức từ (-2 - i) đến (1 + i) và độ phân giải tối thiểu 40x30, sử dụng các ký tự ascii trong ngôn ngữ yêu thích của bạn, sử dụng càng ít ký tự càng tốt.


33
Vì đặc điểm kỹ thuật hơi không rõ ràng về điểm đó nên tôi có thể đề xuất giải pháp php độ phân giải thấp sau đây ;-) 1-char php:*
Howard

3
Chà, tôi đã hy vọng tôi chỉ có thể nói "đừng là một thằng ngốc": D. Chúng tôi sẽ đi với ít nhất 40x30 sau đó.
Hannesh

3
Tôi có một sở thích cá nhân cho các nhiệm vụ giải quyết một lớp vấn đề hơn là một trường hợp. Làm cho khu vực để sử dụng một đầu vào sẽ làm cho câu hỏi này đủ điều kiện. Trong mọi trường hợp, đặc điểm kỹ thuật là một chút ánh sáng. Trong tương lai, bạn có thể nhận trợ giúp với các loại vấn đề này trên meta sandbox hoặc trò chuyện trong phòng thí nghiệm câu đố trước khi nhiệm vụ được thực hiện
dmckee

1
@Hannesh, tôi đồng ý với dmckee. Nếu bạn thay đổi câu hỏi, tôi sẽ vui lòng thêm các đối số.
gian hàng

2
Đây là một mã nguồn trong hình dạng của bộ mandelbrot, sau đó tạo ra bộ mandelbrot có độ phân giải cao ( preshing.com/20110926/ mẹo ) - OT cho câu hỏi này nhưng tôi nghĩ mọi người ở đây có thể thích nó.
DanBeale

Câu trả lời:


53

Giả sử số lượng mã máy, tôi đã viết một prod một lúc trước để tạo ra một Mandelbrot màu 320x200 trong 64 byte - http://www.pouet.net/prod.php?which=53287

Ảnh chụp màn hình

Đây là mã:

; "Microbrot" by Sir_Lagsalot

org 100h
mov al,13h
int 10h

les ax,[bx]

FillLoop:
cwd
mov ax,di
mov cx,320
div cx
sub ax,100
dec dh

xor bx,bx
xor si,si

MandelLoop:
mov bp,si
imul si,bx
add si,si
imul bx,bx
jo MandelBreak
imul bp,bp
jo MandelBreak
add bx,bp
jo MandelBreak
sub bx,bp
sub bx,bp

sar bx,6
add bx,dx
sar si,6
add si,ax

loop MandelLoop

MandelBreak:
xchg ax,cx
stosb
jmp FillLoop

Phiên bản được biên dịch trong cơ sở64:

sBPNEMQHmYn4uUAB9/GD6GT+zjHbMfaJ9Q+v8wH2D6/bcBkPr+1wFAHrcBAp6ynrwfsGAdPB/gYBxuLbkarrxg==

9
Tôi đọc mã và nghĩ rằng đó là cách ngắn / đơn giản để làm bất cứ điều gì thú vị. 2 phút sau khi sudo apt-get install dosbox; dosbox ./Microbrot.comtôi được tìm thấy đang nhấc hàm lên khỏi sàn. Điều này là khá ấn tượng!
sehe

2
IMO chúng tôi có một người chiến thắng.
Hauleth

2
Hmm, tôi đoán bạn cần chuyển đầu ra cho một trình chuyển đổi nghệ thuật ascii để tính điều này?
Paŭlo Ebermann

9
@Hannesh Tôi đến bữa tiệc hơi muộn, nhưng bạn có biết rằng điều này thậm chí không đáp ứng được thông số kỹ thuật không? (Đại diện ASCII?)
flawr

1
-1! Nó không hiển thị phạm vi được yêu cầu: "Vẽ đồ thị đặt trên mặt phẳng phức từ (-2 - i) đến (1 + i)"
yeti

22

C, 988 ký tự

Đây là của tôi, một loại mandelbrot ASCII, được viết dưới dạng mandelbrot ASCII, bằng C.

Oh .. và nó cũng có chức năng zoom tương tác. (nhấn các số bàn phím 1-9 để phóng to khu vực tương ứng)

int main(int argc, char* argv[]){ unsigned
char c='r';double x1,y,y1,t=0,q=78,r=22,x,
x2,y2,a,b,v;do{(c=='r')?(y2=-(y1=-1.6),x1=
-2.0f,x2=0.8):(c=='?')? c=0,   printf("%f\
,%f:%f,%f",x1,y1,x2,y2):(c     <':'&&c>48)
?x=x1,y=y1,*(c>'3'&&c<':'        ?&y1: &t)
+=(y2-y1)/3,*(c>'6'&&c<            ':'?&y1
:&t)+=(y2-y1)/3, *((c               == '8'
||c+3=='8'||c+3 +3==               '8'?&x1
:&t))+=(x2-x1     )/                3,*((c
=='9'||c+3==                        '9'||c
+6=='9'                          ?&x1: &t)
)+=2*(x2-x1)                        /3,x2=
x1+(x2-x)/3,      y2                 =y1+(
y2-y)/3:(c=0);for(y=                y2;y>=
y1&&c;c=1,y-=(y2-y1)/r,            putchar
('\n')) for(x=x1;x<=x2;            x+=(x2-
x1)/q){a=b=c=0; while  (        ++c&&(a=(t
=a)*a)<4&&(v=b*b)<4)a-=v-x     ,b=y+b*2*t;
putchar("#@XMW*N&KPBQYKG$R"   "STEEVxHOUV"
"CT()[]%JL={}eou?/\\|Ili+~<>_-^\"!;:`,. "[
c?c>>2:63]);}} while((c=getchar ())!='x');
return 0;/* Mandelbrot - S.Goodwin.2001*/}

Ban đầu được đăng ở đây http://marquisdegeek.com/rnd_obs.php


Đẹp! Hãy chắc chắn bao gồm một tiêu đề ngôn ngữ và số byte khi trả lời các câu hỏi golf mã. Chào mừng đến với PPCG!
Jonathan Van Matre

3
Bạn có thể tham gia tại IOCCC với mã này
TuxCrafting

@ TùxCräftîñg: Không quá khó hiểu ... Sau tất cả khoảng trắng là tài liệu!
sergiol

18

Lisp thường gặp - 195 ký tự

(loop for y from -1 to 1 by 1/15 do
  (loop for x from -2 to 1 by .04 do
    (let*((c 126) (z (complex x y)) (a z))
      (loop while (< (abs (setq z (+ (* z z) a))) 2)
            while (> (decf c) 32)) 
      (princ (code-char c))))
  (terpri))

Đã thử nghiệm với sbcl và clisp. Kết quả:

~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}||||||||{{{zyvrwum{|||||}}}}}}~~~~~~~~~~~~~
~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}|||||||||{{{zyxvptwyz{{|||||}}}}}}~~~~~~~~~~~
~~~~~~~~~}}}}}}}}}}}}}}}}}}}}|||||||||{{{{zwLtb huwx{{{{||||}}}}}}}~~~~~~~~~
~~~~~~~~}}}}}}}}}}}}}}}}}}}|||||||||{{zzzyxvn    Knwyz{{{{||||}}}}}}~~~~~~~~
~~~~~~~}}}}}}}}}}}}}}}}}}||||||||{{zzzzyyywuk     qwxyzzzz{{|||}}}}}}~~~~~~~
~~~~~}}}}}}}}}}}}}}}}}}|||||||{{{zxjnpwwtjsqpi   lqrujnxyyxrz{|}}}}}}}}~~~~~
~~~~}}}}}}}}}}}}}}}}}|||||{{{{{zzzxt>  qf             pttfqeqz{|}}}}}}}}~~~~
~~~~}}}}}}}}}}}}}}}|||{{{{{{{{zzzxwup                      sxz{||}}}}}}}~~~~
~~~}}}}}}}}}}}}|||{z{{{{{{{zzzzywkmo                      rwyz{{||}}}}}}}~~~
~~}}}}}}}}}||||{{zwvyyyyyyyyyyyxvsP                        swvz{||}}}}}}}}~~
~~}}}}|||||||{{{zzwrtsww^uwwxxwvr                            iz{|||}}}}}}}~~
~}}}|||||||{{{{{zyxws  mj Ubhuutl                           sxz{|||}}}}}}}}~
~}||||||||{{{{{zyytun         qq                            avz{|||}}}}}}}}~
~|||||||{{zzzyxsvvum           j                            Sz{{|||}}}}}}}}~
~{{{{{yyzzzyyxwtbUP                                        qyz{{||||}}}}}}}~
~                                                        pvxyz{{||||}}}}}}}}
~{{{{{yyzzzyyxwtbUP                                        qyz{{||||}}}}}}}~
~|||||||{{zzzyxsvvum           j                            Sz{{|||}}}}}}}}~
~}||||||||{{{{{zyytun         qq                            avz{|||}}}}}}}}~
~}}}|||||||{{{{{zyxws  mj Ubhuutl                           sxz{|||}}}}}}}}~
~~}}}}|||||||{{{zzwrtsww^uwwxxwvr                            iz{|||}}}}}}}~~
~~}}}}}}}}}||||{{zwvyyyyyyyyyyyxvsP                        swvz{||}}}}}}}}~~
~~~}}}}}}}}}}}}|||{z{{{{{{{zzzzywkmo                      rwyz{{||}}}}}}}~~~
~~~~}}}}}}}}}}}}}}}|||{{{{{{{{zzzxwup                      sxz{||}}}}}}}~~~~
~~~~}}}}}}}}}}}}}}}}}|||||{{{{{zzzxt>  qf             pttfqeqz{|}}}}}}}}~~~~
~~~~~}}}}}}}}}}}}}}}}}}|||||||{{{zxjnpwwtjsqpi   lqrujnxyyxrz{|}}}}}}}}~~~~~
~~~~~~~}}}}}}}}}}}}}}}}}}||||||||{{zzzzyyywuk     qwxyzzzz{{|||}}}}}}~~~~~~~
~~~~~~~~}}}}}}}}}}}}}}}}}}}|||||||||{{zzzyxvn    Knwyz{{{{||||}}}}}}~~~~~~~~
~~~~~~~~~}}}}}}}}}}}}}}}}}}}}|||||||||{{{{zwLtb huwx{{{{||||}}}}}}}~~~~~~~~~
~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}|||||||||{{{zyxvptwyz{{|||||}}}}}}~~~~~~~~~~~
~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}||||||||{{{zyvrwum{|||||}}}}}}~~~~~~~~~~~~~

Hơi bị sửa đổi từ blog của B. Clementson .


Đây là mã golf. Đừng đếm thụt nếu không cần thiết.
JB

@ JB. Tôi đã cập nhật số lượng char. Nó không mất không gian thừa vào tài khoản nữa. Tôi đã để lại mã thụt lề cho dễ đọc. Tôi cũng điều chỉnh một tham số, hình ảnh bây giờ tuân theo thông số kích thước.
stackman

Tốt hơn nhiều. Nâng cao.
JB

11

Con trăn, 146 145 143ar

z=lambda x,c,n:z(x**2+c,c,n-1)if n*(abs(x)<2)else x
for y in range(-15,16):print''.join(' @'[abs(z(0,x/25.+y/15j,32))<2]for x in range(-50,26))

Phải thêm mệnh đề (abs (x) <2) vào biểu thức điều kiện để giữ cho Python không bị tràn về. Nhưng ... đây là một lý do tôi yêu Sage ...

Cây xô thơm, 133

z=lambda x,c,n:z(x^2+c,c,n-1)if n else abs(x)<2
for y in range(-15,16):
 print''.join(' +'[z(0,x/25+y/15j,32)]for x in range(-50,26))

Đầu ra mẫu (từ phiên bản python)

                                                  @                         

                                            @  @                            
                                             @@@@@                          
                                             @@@@@                          
                                              @@@                           
                                    @@@  @@@@@@@@@@@@@                      
                                     @@@@@@@@@@@@@@@@@@@@@@                 
                                    @@@@@@@@@@@@@@@@@@@@@@                  
                                  @@@@@@@@@@@@@@@@@@@@@@@@@                 
                        @        @@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                     @@  @@      @@@@@@@@@@@@@@@@@@@@@@@@@@@                
                     @@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@                
                    @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                   
                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 
                    @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                     @@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@                
                     @@  @@      @@@@@@@@@@@@@@@@@@@@@@@@@@@                
                        @        @@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                                  @@@@@@@@@@@@@@@@@@@@@@@@@                 
                                    @@@@@@@@@@@@@@@@@@@@@@                  
                                     @@@@@@@@@@@@@@@@@@@@@@                 
                                    @@@  @@@@@@@@@@@@@                      
                                              @@@                           
                                             @@@@@                          
                                             @@@@@                          
                                            @  @                            

                                                  @                         

Tôi nghĩ bạn cũng có thể sử dụng 15jtrong phiên bản python
gnibbler

Để cạo một ký tự thêm dòng r=range(-50,26). Sau đó thay thế range(-15,16)bằng r[35:66]và thay thế range(-50,26)bằng r.
Steven Rumbalski

10

J , 61 ký tự

{&' *'(2:>[:|([+]*])^:32 ::_:)&0"0(j.1-16%~i.33)+/_2+32%~i.97
                                                                *                                

                                                            **                                   
                                                         ****** *                                
                                                         ******                                
                                                          *****                                  
                                                    ****** / TÌM HIỂU *                            
                                               ****** / TÌM HIỂU                      
                                           * ****** / TÌM HIỂU                      
                                           ****** / TÌM KIẾM                      
                                           ****** / TÌM HIỂU                  
                                          ****** / TÌM KIẾM                   
                           ** ****** ****** / TÌM HIỂU                    
                          ****** / TÌM HIỂU                    
                         ****** / TÌM HIỂU                     
                     ****** / TÌM KIẾM ****                      
 ****** / TÌM KIẾM ****** / TÌM KIẾM                        
                     ****** / TÌM KIẾM ****                      
                         ****** / TÌM HIỂU                     
                          ****** / TÌM HIỂU                    
                           ** ****** ****** / TÌM HIỂU                    
                                          ****** / TÌM KIẾM                   
                                           ****** / TÌM HIỂU                  
                                           ****** / TÌM KIẾM                      
                                           * ****** / TÌM HIỂU                      
                                               ****** / TÌM HIỂU                      
                                                    ****** / TÌM HIỂU *                            
                                                          *****                                  
                                                         ******                                
                                                         ****** *                                
                                                            **                                   

                                                                *                                

55 cho không gian cách nhau 0/1 thay vì sao.

(2:>[:|([+]*])^:32 ::_:)&0"0(j.1-16%~i.33)+/_2+16%~i.49
Tôi không làm gì cả 0 0 0 0 0 0
Tôi không làm gì cả
Tôi không làm gì cả
Tôi không làm gì cả 0 0 0 0 0 0
Tôi không làm gì cả 0 0 0 0 0 0
Tôi không làm gì cả
Tôi không bao giờ 1
Tôi không có 1 1 0 1 0 0
Tôi không có 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
Tôi không có 1 1 1 1 0 0
Tôi không có 1 1 0 1 0 0
Tôi không bao giờ 1
Tôi không làm gì cả
Tôi không làm gì cả 0 0 0 0 0 0
Tôi không làm gì cả 0 0 0 0 0 0
Tôi không làm gì cả
Tôi không làm gì cả
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

8
Ôi Chúa ơi, đôi mắt của tôi ...
gobernador

10

TIỀN MẶT - 167 165 148

Các mb3tập tin:

eval g={-4096..4096..199}'
'h={-8192..4096..99}'
x=;y=;for((i=0;i<30&&x*x+y*y<1<<26;i++)){((v=(x*x-y*y>>12)+h,y=(x*y>>11)+g,x=v));}
printf $[i%10]
'

(không có dòng mới)

Chạy nó trong một thiết bị đầu cuối với chiều dài dòng 125:

đầu ra mb3


TIỀN MẶT - 214 190

for h in {-4096..4096..200};do
for g in {-8192..4096..115};do
x=0;y=0
for((i=0;i<30&&x*x+y*y<1<<26;i++));do((v=((x*x-y*y)>>12)+g));((y=((x*y)>>11)+h))
x=$v
done;printf $[i%10];done;echo;done

Về cơ bản, đây là cùng một mã như dưới đây với các tính toán được thay thế bằng các giá trị được mã hóa cứng và hình ảnh được lật xung quanh trục x.

mb2.bash chạy ảnh chụp nhanh

Phiên bản bên dưới không hoàn toàn phù hợp với các quy tắc phá vỡ "từ (-2 - i) đến (1 + i)".


TIỀN MẶT - 263 261 260 236

Sử dụng nguồn này, Luke:

a=-8601;b=2867;c=-4915;d=4915
((e=(b-a)/99));((f=(d-c)/49))
for((h=d;h>=c;h-=f));do
for((g=a;g<=b;g+=e));do
x=0;y=0
for((i=0;i<30&&x*x+y*y<1<<26;i++));do((v=((x*x-y*y)>>12)+g))
((y=((x*y)>>11)+h));x=$v
done
printf $[i%10]
done;echo;done

Mã này chỉ sử dụng số học số nguyên, vì vậy BASH không cần người trợ giúp bổ sung để thực hiện toán học dấu phẩy động ...

mb.bash chạy ảnh chụp nhanh


Trong các đánh giá số học, Bash đưa các chuỗi rỗng thành 0, do đó, đủ để khởi tạo x=;y=. Toán tử thay đổi có mức độ ưu tiên thấp hơn phép cộng và phép nhân, do đó không cần dấu ngoặc đơn xung quanh >>toán hạng bên trái. Và bạn có thể sử dụng {... }thay vì do... done, như Digital Chấn thương khuyên trong mình tip . Và bạn có thể đặt nhiều biểu thức trong một đánh giá số học, chỉ cần tách chúng với ,.
manatwork

@manatwork ... cảm ơn! ;-)
yeti

Bạn đã quên một cặp dấu ngoặc trong (x*x-y*y)>>12. Họ không thay đổi gì cả.
manatwork

Vâng ... có vẻ như nó không có nghĩa là không có dấu ngoặc đơn ... Tôi không dám ...: - /
yeti

6

Ruby, 95 ký tự

puts (-20..20).map{|y|(-40..20).map{|x|z=0;32.times{z=z*z+Complex(x,y)/2e1};z.abs<2??*:' '}*''}

Đầu ra mẫu:

                                        *                    

                                     *                       
                                   * *                      
                                    ****                     
                                    *****                    
                                    ****                     
                             * * ****** * *                 
                             ** ******                  
                             ****** / TÌM HIỂU              
                             ****** / TÌM HIỂU              
                           * ****** / TÌM HIỂU              
                            ****** / TÌM HIỂU              
                          ****** / TÌM KIẾM            
                    * ****** / TÌM HIỂU             
                 * *** ****** / TÌM KIẾM             
                 ****** ****** / TÌM HIỂU             
                ****** / TÌM HIỂU             
                ****** / TÌM KIẾM             
             ****** / TÌM KIẾM              
 ****** / TÌM KIẾM               
             ****** / TÌM KIẾM              
                ****** / TÌM KIẾM             
                ****** / TÌM HIỂU             
                 ****** ****** / TÌM HIỂU             
                 * *** ****** / TÌM KIẾM             
                    * ****** / TÌM HIỂU             
                          ****** / TÌM KIẾM            
                            ****** / TÌM HIỂU              
                           * ****** / TÌM HIỂU              
                             ****** / TÌM HIỂU              
                             ****** / TÌM HIỂU              
                             ** ******                  
                             * * ****** * *                 
                                    ****                     
                                    *****                    
                                    ****                     
                                   * *                      
                                     *                       

                                        *                    

6

Haskell, 130

import Complex
main=mapM_ putStrLn[[" *"!!fromEnum(magnitude(iterate((+(x:+y)).(^2))0!!32)<2)|x<-[-2,-1.95..1]]|y<-[-1,-0.95..1]]

Đầu ra:

                                        *                    

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

                                        *          

Trên đầu tôi đầy sao ******
Jamie

6

Đây là một câu trả lời kịch bản cà phê chạy trên node.js: Màu đen và trắng:

m=(x,y)->
 a=x
 b=y
 z=0
 for i in [0..99]
  (return if i>60 then '*' else if i>10 then '-' else if i>5 then '.' else ' ') if z>4
  l=y*y
  z=x*x+l
  y=2*x*y+b
  x=x*x-l+a
 '@'
console.log (m x,y for x in [-1.5..0.5] by 2/79).join '' for y in [-1.3..1.3] by 2.6/40

ascii_mandel_color

Thêm màu sắc:

n='\u001b[0m'
m=(x,y)->
 a=x
 b=y
 z=0
 for i in [0..999]
  (return if i>100 then '\u001b[33m*'+n else if i>10 then '\u001b[34m-'+n else if i>5 then '\u001b[31m.'+n else ' ') if z>4
  l=y*y
  z=x*x+l
  y=2*x*y+b
  x=x*x-l+a
 '\u001b[32m@\u001b[0m'
console.log (m x,y for x in [-1.5..0.5] by 2/79).join '' for y in [-1.3..1.3] by 2.6/40

Bạn có biết nhìn màu xanh lá cây là tốt cho đôi mắt của bạn?
Jamie

6

Toán học 56

RegionPlot[Abs@Nest[#^2+x+I*y&,0,9]<2,{x,-2,1},{y,-1,1}]

Toán học 77

ArrayPlot[2^-Abs@Nest[#^2+Table[j+i*I,{i,-1.2,1.2,.1},{j,-1.8,0.6,.1}]&,0,6]]

nhập mô tả hình ảnh ở đây

Toán học 77

Grid@Table[If[Abs@Nest[#^2+y+x*I&,0,30]<2,"*",""],{x,1,-1,-.1},{y,-2,0.5,.1}]

nhập mô tả hình ảnh ở đây


Đẹp. Tôi đã thử cách tiếp cận này: GraphicsGrid@ImageData@Binarize@MandelbrotSetPlot[ImageResolution->40]/.{1->" ",0->"*"}nhưng nó có 84 ký tự và đầu ra không đẹp như của bạn.
Michael Stern

5

Perl, 153 ký tự

for(-21..20){$y=$_/20;for(-60..18){$r=($x=$_/30);$i=$y;for(1..99){$t=$r;$r=$r**2-$i**2+$x;$i=$t*$i*2+$y}if($r**2+$i**2<4){print"X"}else{print$"}}print$/}

Đầu ra: Tôi không thể đăng ảnh vì tôi là người dùng mới, vì vậy tôi sẽ thử đăng văn bản của đầu ra.

                                                            X                  


                                                        XX                     
                                                      XXXXXX                   
                                                     XXXXXXX                   
                                                      XXXXX                    
                                                   X X XX X                    
                                            XX   XXXXXXXXXXXXXXXX              
                                            XXXXXXXXXXXXXXXXXXXXXXXXXX         
                                            XXXXXXXXXXXXXXXXXXXXXXXXXX         
                                          X XXXXXXXXXXXXXXXXXXXXXXXXXX          
                                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      
                                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
                          X XXXX       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       
                          XXXXXXXXX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       
                        XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       
                        XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
                    XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           
                    XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
                        XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
                        XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       
                          XXXXXXXXX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       
                          X XXXX       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       
                                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      
                                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXX        
                                         X XXXXXXXXXXXXXXXXXXXXXXXXXX          
                                            XXXXXXXXXXXXXXXXXXXXXXXXXX         
                                            XXXXXXXXXXXXXXXXXXXXXXXXXX         
                                            XX   XXXXXXXXXXXXXXXX              
                                                   X X XX X                    
                                                      XXXXX                    
                                                     XXXXXXX                   
                                                      XXXXXX                   
                                                        XX                     


                                                            X                  

4

C # - 304 ký tự

Khi tôi viết mã, tôi viết mã với khả năng đọc và định dạng đẹp. Tôi đã viết lên này.

using C=System.Console;class Program{static void Main()
{C.WindowWidth=220;C.WindowHeight=80;
int w=220,h=80,m=100;double s=4.0/w,v=4.0/h;
for(int i=0;i<h;i++)for(int j=0;j<w;j++){
double n=s*j-2,u=v*i-2,x=0,y=0;int r=0;
for(r=0;x*x+y*y<4&&r<m;r++){
double t=x*x-y*y+n;y=2*x*y+u;x=t;}
C.Write(r>=m?'#':' ');}C.ReadLine();}}

Tôi chắc chắn giải pháp của tôi có thể được cải thiện nhưng để tham khảo tôi sẽ đăng nó. Lưu ý rằng giao diện điều khiển windows đè bẹp hình ảnh.

nhập mô tả hình ảnh ở đây


1
Có vẻ như một lỗi!
Hosch250

3

Haskell: 340 char

Vâng, như tôi thấy không có câu trả lời haskell, tôi đăng bài của tôi, tôi đã cố gắng giảm thiểu nó từ những gì tôi đã làm cho đến nay. Tôi chắc chắn tôi có thể giảm nó rất nhiều. Nhưng đây là lần thử đầu tiên:

m (x,y) (z,t)=(z*x-y*t,y*z+x*t);
a (x,y) (z,t)=(x+z,y+t);
r=1.0
f c z 0=z
f c z n=f c (a (m z z) c) (n-1)
e (x,y)=sqrt(x*x+y*y)
t c=(e(f c (0.0,0.0) 32)) < 2
b=map (\z -> (t z, (fst z > r-0.01))) [(x,y) | y <- [-r,-r+(1.0/15)..r], x<-[-2*r,-1.96..r]]
s True="\n"
s _=""
g (b,c)=(if (b) then "@" else " ")++s c
main=putStrLn$concat$map g b

Và đây là kết quả:

                                                  @                         

                                            @  @                            
                                             @@@@@                          
                                             @@@@@                          
                                              @@@                           
                                    @@@  @@@@@@@@@@@@@                      
                                     @@@@@@@@@@@@@@@@@@@@@@                 
                                    @@@@@@@@@@@@@@@@@@@@@@                  
                                  @@@@@@@@@@@@@@@@@@@@@@@@@                 
                        @        @@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                     @@  @@      @@@@@@@@@@@@@@@@@@@@@@@@@@@                
                     @@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@                
                    @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                   
                 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                 
                    @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                     @@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@                
                     @@  @@      @@@@@@@@@@@@@@@@@@@@@@@@@@@                
                        @        @@@@@@@@@@@@@@@@@@@@@@@@@@@@               
                                  @@@@@@@@@@@@@@@@@@@@@@@@@                 
                                    @@@@@@@@@@@@@@@@@@@@@@                  
                                     @@@@@@@@@@@@@@@@@@@@@@                 
                                    @@@  @@@@@@@@@@@@@                      
                                              @@@                           
                                             @@@@@                          
                                             @@@@@                          
                                            @  @                            

                                                  @                         

OK - Lấy cảm hứng từ một số mã C hoạt hình bị che khuất trên HN, đây là một phiên bản hoạt hình:

a=27;b=79;c=C(-2.0,-1.0);d=C(1.0,1.0);e=C(-2.501,-1.003)
newtype C = C (Double,Double) deriving (Show,Eq)
instance Num C where C(x,y)*C(z,t)=C(z*x-y*t,y*z+x*t);C(x,y)+C(z,t)=C(x+z,y+t);abs(C(x,y))=C(sqrt(x*x+y*y),0.0)
r(C(x,y))=x;i(C(x,y))=y
f :: C -> C -> Int -> Int
f c z 0=0;f c z n=if(r(abs(z))>2)then n else f c ((z*z)+c) (n-1)
h j k = map (\z->(f (C z) (C(0,0)) 32,(fst z>l - q/2))) [(x,y)|y<-[p,(p+((o-p)/a))..o],x<-[m,(m + q)..l]] where o=i k;p=i j;m=r j;l=r k;q=(l-m)/b
u j k = concat $ map v $ h j k where v (i,p)=(" .,`'°\":;-+oO0123456789=!%*§&$@#"!!i):rst p;rst True="\n";rst False=""
main = putStrLn $ im 0 where cl n (C (x,y))=let cs=(1.1**n-1) in C ((x+cs*(r e))/cs+1,(y+cs*(i e))/cs+1);bl n=cl n c;tr n=cl n d;im n=u (bl n) (tr n)++"\x1b[H\x1b[25A"++im (n+1)

Sao chép / dán, làm một mh.hs runghc, thưởng thức!

Đây là loại kết quả sau 50 lần lặp:

77777777777777777777777777777777777777777777777666666666666666666666666666666666
77777777777777777777777777777777777777777766665555555555566666666666666666666666                                                                                                     
666777777777777777777777777777666666666665543;4445555555555555555555666666666555
66666666666666666666666666666666666666555554300334555555555555555555555555555555 
6666666666666666666666666666666666665555554431:°33345555555555555555555555555544
5566666666666666666666666666666666555555554321 ;00O:3455555555555555555444444444
5555666666666666666666666666666655555555554O+++ :o022334444444444444444444444444
5555556666666666666666666666665555555555543210O-+O112333344444444444444444444444
55555555666666666666666666665555555555444333210o`O012333333444444444444444444444
4555555555566666666666666555555555544444333331O+°°,'0233333334444444444444444433
44444445555555556666555555555444444444433333210o-:O01122333333334444444444443333
44444444444444445555444444444444444444333332211O+ -o1112222223333333344433333222
444444444444433331133334444444444444433332221110o"+O0111222222222222222222222222  
34444444443333330OO03333334444444443332222221100O+-oO001122222222221110-O1111122
22333333333332210--01223333333333322222222211000o-°+o00000122222111110o°;o001111
11OO112222222111O;;O111222222211OO111122211000Oo-" :+ooOOOO.O0000000OOo'°oOO0000
0O;+O01122211000O--O00011221110O+;O00000OO +oooo-: :-+oo++";oOO0000Ooo+;;+oooO00
o+"+oO00OO OOOOoo::ooOOOO°OO00Oo+"+ooOooo+;°---",' ,,";--: ;-+oo+ +++;;°°;;-++:;
,° °':°: ` "`".°°  °° "°".  :'",  '°`°":`°` ,,``     .   . .°°'°° ` ..     `'°. 
+-`-oo+oo+'+o+`--°°;-`+o+"+oo+oo-'-++;+++-:,:::"`    °::°° :-;;--,;-; "  " ;-;":
OO"-O0000000000Oo--oO0000000000O-:oO0000Oo::+++;;: ":"-++-';+oooOOoooo-::-oooo++
10;-111222222110O--O011222222111- 01111110oOOOoo-: :-ooooo`:OO000000OO+;;+OOO000
22122222222222110++0112222222222111222222221000O+:,;.O000001111111100Oo:-OO00000
3344444433333332-,°-2333333344444433322222221100o-;oO00011222222221111O'+0111111
444444444444333320023333444444444444433322221110O.:O0011222222222222211-01112222
44444444444444443333444444444444444444333332211O. -o1112222222223333333333322222
44444444445555555555555555444444444444433333210O-"oO1122223333333444444444433333
444555555555666666666666555555555444444433333' '`:+O0233333333444444444444444433

Và một liên kết đến một mã dễ đọc hơn:

http://yannesposeito.com/Scratch/en/blog/Haskell-Mandelbrot/


3

J, 70

3 :'try.2>|(y&+&*:)^:32[0 catch.0 end.'"0(1-~15%~i.31)j.~/2-~13%~i.40

Hiển thị các thành viên của tập hợp như 1, phần còn lại là 0. Khoảng cách mỗi điểm được tính rộng hai ký tự, để giữ một pixel chủ yếu là hình vuông với hầu hết các phông chữ.


3

QBasic, 222 nhân vật. Không phải là ngắn, nhưng QBasic là một ngôn ngữ dài dòng. Ngoài ra, tôi đã cập nhật với một phiên bản có vẻ đúng hơn

FOR y=1 TO 23
FOR x=1 TO 80
a=0:b=0
c=-2.5+(x/80)*3.5:d=-1+(y/23)*2
FOR i=0 TO 1000
IF a*a+b*b>=4 THEN GOTO E
t=a*a-b*b*c:b=2*a*b+d:a=t
NEXT
E:LOCATE y,x
IF a*a+b*b<4 THEN
?("@")
ELSE
?(" ")
END IF
NEXT
NEXT

Đầu ra là như trong hình ảnh sau đây.

nhập mô tả hình ảnh ở đây


2

SpecBAS 201

Tôi biết đây là một câu hỏi cũ, nhưng chúng tôi đã chơi với ascii brot của Perlin trong diễn đàn lập trình BASIC, và đây là của tôi - trong SpecBAS (một loại trình thông dịch BASIC của Sinclair) và nó thực sự chỉ là văn bản, và một dòng mã:

1FOR y=-29TO 30:FOR x=-10TO 89:LET m,r=0:FOR k=0TO 224:LET j=r^2-m^2-2+x/25,m=2*r*m+y/25,r=j,l=k,k=IIF(j^2+m^2>11,225,k):NEXT k:PRINT INK l;"ð";:NEXT x:NEXT y

Đầu ra: SpecBAS ascii mandelbrot


Đầu ra phải ở dạng ASCII. (Và bạn có thể viết ví dụ: bất kỳ chương trình Java nào trong một dòng.)
flawr

Mục bình chọn cao nhất không phải là ASCII.
ZXDunny

@flawr Ok, đây là phiên bản "ascii" (176 bytes) - và lý do tôi đã khá hài lòng về nó là trên cùng một dòng là nó không phải là thực sự Java ... 1FOR y=-29TO 30:FOR x=-10TO 89:LET m,r=0:FOR k=0TO 112:LET j=r^2-m^2-2+x/25,m=2*r*m+y/25,r=j,l=k&15,k=IIF(j^2+m^2>11,113,k):NEXT k:PRINT" .:-;!/>)|&IH%*#"(l+1);:NEXT x:NEXT y.
ZXDunny

Bạn nên đặt phiên bản đó trong câu trả lời.
Máy

1

Perl - 193 ký tự

$Y=-1.2;for(0..24){$X=-2;for(0..79){($r,$i)=(0,0);for(0..15){$n=$_;$r=($x=$ r)*$x-($y=$i)*$y+$X;$i=2*$x*$y+$Y;$x*$x+$y*$y>4&&last}print unpack("\@$n a" ,".,:;=+itIYVXRBM ");$X+=3/80}$Y+=2.4/25}

Kết quả

,,,,,,,,,,,::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::
,,,,,,,,,:::::::::;;;;;;;;;;;;;;;;;;;;;;======+iRV+++====;;;;;;:::::::::::::::::
,,,,,,,,::::::;;;;;;;;;;;;;;;;;;;;;;========+++itVXYYRi======;;;;;;:::::::::::::
,,,,,,:::::;;;;;;;;;;;;;;;;;;;;;;=========++++ttIR  VIt+++=====;;;;;;;::::::::::
,,,,,::::;;;;;;;;;;;;;;;;;;;;==========+++iitIX        ti++++====;;;;;;;::::::::
,,,,:::;;;;;;;;;;;;;;;;;;;=========++ittttttIYX       VIItiiiii++==;;;;;;;::::::
,,,::;;;;;;;;;;;;;;;;;;======+++++iit     R               RY XX Y++=;;;;;;;;::::
,,::;;;;;;;;;;;;;;;;===+++++++++iiitIVB                        Mti++=;;;;;;;;:::
,,:;;;;;;;;;;;====+XtiiiiiiiiiittIYM                           RIti+==;;;;;;;;::
,:;;;;;=======+++iiI XVVYV VYYIIYYB                               t+===;;;;;;;;:
,;;========++++++ttIY          MRB                               Mi+===;;;;;;;;;
,========+++iiiIRYYX                                             t++====;;;;;;;;
,++iitYttttIIIVXM                                              Yti++====;;;;;;;;
,++iitYttttIIIVXM                                              Yti++====;;;;;;;;
,========+++iiiIRYYX                                             t++====;;;;;;;;
,;;========++++++ttIY          MRB                               Mi+===;;;;;;;;;
,:;;;;;=======+++iiI XVVYV VYYIIYYB                               t+===;;;;;;;;:
,,:;;;;;;;;;;;====+XtiiiiiiiiiittIYM                           RIti+==;;;;;;;;::
,,::;;;;;;;;;;;;;;;;===+++++++++iiitIVB                        Mti++=;;;;;;;;:::
,,,::;;;;;;;;;;;;;;;;;;======+++++iit     R               RY XX Y++=;;;;;;;;::::
,,,,:::;;;;;;;;;;;;;;;;;;;=========++ittttttIYX       VIItiiiii++==;;;;;;;::::::
,,,,,::::;;;;;;;;;;;;;;;;;;;;==========+++iitIX        ti++++====;;;;;;;::::::::
,,,,,,:::::;;;;;;;;;;;;;;;;;;;;;;=========++++ttIR  VIt+++=====;;;;;;;::::::::::
,,,,,,,,::::::;;;;;;;;;;;;;;;;;;;;;;========+++itVXYYRi======;;;;;;:::::::::::::
,,,,,,,,,:::::::::;;;;;;;;;;;;;;;;;;;;;;======+iRV+++====;;;;;;:::::::::::::::::

Tôi nghĩ rằng nó đã giành chiến thắng trong cuộc thi perluscated vài năm trước.


1
Vì vậy, nó không phải là của bạn? Có thể là tốt để nói người đó từ.
Camilo Martin

1

Con trăn, 115.

r=range
for _ in r(-11,12):
 for f in r(-39,41):
  v=u=f/22.-_/11j;exec"u=u*u+v;"*40;print"\b"+chr(32+(u.real<4)),

Chỉ hoạt động trên các thiết bị đầu cuối 80x24, nhưng bạn có thể thêm printsau lần đầu tiên forđể sửa nó.

Đầu ra mẫu (Có printhướng dẫn bổ sung .):

                                       !                                        

                                   !!!                                          
                                  !!!!!                                         
                            !  ! !!!!!!!! !                                     
                           !!!!!!!!!!!!!!!!! !!                                 
                        ! !!!!!!!!!!!!!!!!!!!!!                                 
                        !!!!!!!!!!!!!!!!!!!!!!!                                 
              !  !      !!!!!!!!!!!!!!!!!!!!!!!!                                
            !!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!                                
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!                                 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!                                   
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!                                 
            !!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!                                
              !  !      !!!!!!!!!!!!!!!!!!!!!!!!                                
                        !!!!!!!!!!!!!!!!!!!!!!!                                 
                        ! !!!!!!!!!!!!!!!!!!!!!                                 
                           !!!!!!!!!!!!!!!!! !!                                 
                            !  ! !!!!!!!! !                                     
                                  !!!!!                                         
                                   !!!                                          

                                       !                                        

1

c ++ - 11 - 298 ký tự

Phiên bản đầy đủ golf, không tham số mà chỉ làm những gì được yêu cầu:

#include <complex>
#include <iostream>
#define C complex<float>
using namespace std;int main(void){C p(-2,1),q(1,-1);char i,j,k;
for(j=0;j<30;++j){for(i=0;i<80;++i){C r=q-p,c((i+0.5)*r.real()/
81+p.real(),(j+0.5)*r.imag()/31+p.imag());r=0;k=64;while
(abs(r)<=2&&(--k!=32))r=r*r+c;cout<<k;}cout<<endl;}}

Việc thực hiện là hoàn toàn không đáng kể. Chỉ cần nhìn thấy những gì có thể được thực hiện bằng cách sử dụng thời gian phức tạp bản địa (đó là, than ôi, một chút dài dòng).

Ungolfed và tham số hóa để nó có thể làm khu vực

#include <complex>
#include <iostream>
using namespace std;
void M/*andlebrot*/(ostream& o, 
            complex<float> p, complex<float> q, 
            int l, int h) {
  char i,j,k;
  for(j=0; j<h; ++j){
    for(i=0; i<l; ++i){
      complex<float> r=q-p,c((i+0.5)*r.real()/(l+1)+p.real(), 
                 (j+0.5)*r.imag()/(h+1)+p.imag() );
      r=0;
      k='@';
      while(abs(r)<=2&&(--k!=' ')){
        r=r*r+c;
      }
      o<<k;
    }
    o<<endl;
  }
}

int main(int argc, char*argv[]){
  M(cout,complex<float>(-2.15,1.25),complex<float>(0.65,-1.25),80,30);
}

Đầu ra

$ g++-fsf-4.7  mandelbrot_golf.cc --std=c++11
$ ./a.out
???????>>>>>>=====================<<<<<<<<<;;;;:974048:;<<<<<<======>>>>>>>>>>>>
??????>>>>>=====================<<<<<<<<<<;;;:9872  '89:;;<<<<<<======>>>>>>>>>>
?????>>>>=====================<<<<<<<<<<;;;::8$ /#  &349:;;;;<<<<=======>>>>>>>>
????>>>=====================<<<<<<<<<;;::::9986-     *589::;;;;<<<========>>>>>>
????>>====================<<<<<<<<;;;9988998775/      57889::::9;<<========>>>>>
???>>===================<<<<<<;;;;;:96$.355 &()         2$28887,8:;<========>>>>
??>>==================<<<<;;;;;;;::987.                    2$   )9;<<========>>>
??>================<<<;;;;;;;;;::::8753+                       '8:;;<<========>>
?>=============<<<;::::;;;;;::::997                            589:;<<=========>
?>========<<<<<;;;:85899987999998861%                           (54;<<<========>
?=====<<<<<<<;;;;::8 03564&46677763!                             28:<<<=========
>==<<<<<<<<;;;;;::9873  ,   '  554#                              69;<<<<========
==<<<<<<<<;;;;;:998$3,          00                              -3:;<<<<========
=<<<<<<<;;::::975654)            )                              ,9:;<<<<========
<;;;::99:::999762  #                                            9:;;<<<<========
                                                             /589:;;<<<<========
<;;;::99:::999762  #                                            9:;;<<<<========
=<<<<<<<;;::::975654)            )                              ,9:;<<<<========
==<<<<<<<<;;;;;:998$3,          00                              -3:;<<<<========
>==<<<<<<<<;;;;;::9873  ,   '  554#                              69;<<<<========
?=====<<<<<<<;;;;::8 03564&46677763!                             28:<<<=========
?>========<<<<<;;;:85899987999998861%                           (54;<<<========>
?>=============<<<;::::;;;;;::::997                            589:;<<=========>
??>================<<<;;;;;;;;;::::8753+                       '8:;;<<========>>
??>>==================<<<<;;;;;;;::987.                    2$   )9;<<========>>>
???>>===================<<<<<<;;;;;:96$.355 &()         2$28887,8:;<========>>>>
????>>====================<<<<<<<<;;;9988998775/      57889::::9;<<========>>>>>
????>>>=====================<<<<<<<<<;;::::9986-     *589::;;;;<<<========>>>>>>
?????>>>>=====================<<<<<<<<<<;;;::8$ /#  &349:;;;;<<<<=======>>>>>>>>
??????>>>>>=====================<<<<<<<<<<;;;:9872  '89:;;<<<<<<======>>>>>>>>>>

Các parens ở giữa thêm một liên lạc tốt đẹp :)
Camilo Martin

Tôi ước tôi có thể tuyên bố tôi đã lên kế hoạch, nhưng nó vừa xảy ra. Tôi đặt lựa chọn ký tự để cho phép phạm vi in ​​lớn nhất.
dmckee

1

GolfScript - 77

20{40{0.1{.{;..*2$.*\- 20/3$-@@*10/3$-..*2$.*+1600<}*}32*\;\;@@(}60*;(n\}40*;

Nó có thể được chơi golf nhiều hơn nữa. Kết quả là một xấp xỉ vì tôi phải sử dụng số nguyên.

Đầu ra:

000000000000000000000000000000000000000010000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000001000000000000000000000000
000000000000000000000000000000000000001000000000000000000000
000000000000000000000000000000000000111000000000000000000000
000000000000000000000000000000000000111110000000000000000000
000000000000000000000000000000000000011100000000000000000000
000000000000000000000000000001000110111100010000000000000000
000000000000000000000000000000100111111111110000000000000000
000000000000000000000000000001011111111111110111000000000000
000000000000000000000000000001111111111111111110000000000000
000000000000000000000000000000111111111111111110000000000000
000000000000001000000000000011111111111111111111000000000000
000000000000000000000000000011111111111111111111000000000000
000000000000000000000000000111111111111111111111000000000000
000000000000000000000000001111111111111111111111100000000000
000000000000000001111110001111111111111111111111100000000000
000000000000000011111111101111111111111111111111100000000000
000000000000100111111111111111111111111111111111000000000000
000000000001101111111111111111111111111111111111000000000000
011111111111111111111111111111111111111111111100000000000000
000000000000001111111111111111111111111111111110000000000000
000000000000000111111111111111111111111111111111000000000000
000000000000000001111111111111111111111111111111100000000000
000000000000000001111111101111111111111111111111000000000000
000000000000000001011100000111111111111111111111100000000000
000000000000000000000100000111111111111111111111000000000000
000000000000000100000000001111111111111111111111100000000000
000000000000000100000000000011111111111111111111000000000000
000000000000000000000000000011111111111111111110000000000000
000000000000000000000000000001111111111111111111000000000000
000000000000000000000000000000111111111111111111000000000000
000000000000000000000000000001101111111111111000000000000000
000000000000000000000000000011000011111110100000000000000000
000000000000000000000000000000000000111100000000000000000000
000000000000000000000000000000000000111110000000000000000000
000000000000000000000000000000000000111100000000000000000000
000000000000000000000000000000000000011000000000000000000000
000000000000000000000000000000000000001000000000000000000000
000000000000000000000000000000000000000000000000000000000000

Phải mất thêm khoảng 9 byte để làm cho nó sử dụng khoảng trắng và dấu sao:

20{40{0.1{.{;..*2$.*\- 20/3$-@@*10/3$-..*2$.*+1600<}*}32*' *'=\;\;@@(}60*;(n\}40*;]''+

1

GNU bc, 136 byte

for(y=-1;y<1;y+=.05){for(x=-2;x<1;x+=.05){for(n=i=r=0;r*r+i*i<4&&++n<32;r=t){t=r*r-i*i+x
i=2*r*i+y}
if(n<32)print n%A else print " "}
2}

Đầu ra:

1111112222233333333333333334444445567190 5444433332222222222222
11111222233333333333333334444444555780 076544443333322222222222
11111222333333333333333344444445556799 1865544443333322222222
11112223333333333333333444444455561 6 798555444433333222222222
111122333333333333333344444445566784 08655554433333322222222
111222333333333333333444444556667797 787665554433333222222
111223333333333333344444455678988903 309866625443333322222
11123333333333333344444555673430 0 203 9889754333333222222
11223333333333333444455556672 75 224654544333332222
11233333333333344455555566781 29554333333222
11233333333333445555555666808 7654333333222
113333333334445666555666782 5 3765443333332222
123333334444557477778777782 7025443333332222
12333344444556749990198881 6443333332222
13334444445556709 25 51902 486443333333232
13344444455557795 728 4054443333332
1344444455557792 6 854443333332
1444444555672919 654443333332
144444666678368 8654443333332
1556787778915 07654443333332
1 387654443333332
1556787778915 07654443333332
144444666678368 8654443333332
1444444555672919 654443333332
1344444455557792 6 854443333332
13344444455557795 728 4054443333332
13334444445556709 25 51902 486443333333232
12333344444556749990198881 6443333332222
123333334444557477778777782 7025443333332222
113333333334445666555666782 5 3765443333332222
11233333333333445555555666808 7654333333222
11233333333333344455555566781 29554333333222
11223333333333333444455556672 75 224654544333332222
11123333333333333344444555673430 0 203 9889754333333222222
111223333333333333344444455678988903 309866625443333322222
111222333333333333333444444556667797 787665554433333222222
111122333333333333333344444445566784 08655554433333322222222
11112223333333333333333444444455561 6 798555444433333222222222
11111222333333333333333344444445556799 1865544443333322222222
11111222233333333333333334444444555780 076544443333322222222222

1

CJam, 52 byte

80,Kdf/2f-_m*{_{_~*2*[\2f#~-\]1$.+}9*\;~mh4<}%80/zN*

Giải trình:

80,Kdf/2f-                                             Push [-2, -1.95, ..., 1.95]
          _m*                                          Cartesian product with itself
             {                              }%         Map over each pair [cx, cy]:
              _                                          Push a copy [zx, zy]
               {                  }9*                    Iterate nine times:
                _~*2*                                      Push 2*zx*zy
                     [\2f#~-\]                             Make a pair with zx^2-zy^2
                              1$.+                         Push [cx, cy] and sum vectors
                                     \;                  Destroy [cx, cy]
                                       ~mh               Calculate sqrt(zx^2+zy^2)
                                          4<             1 if bounded, 0 if not
                                              80/      Split into rows of 80 booleans
                                                 z     Transpose this matrix
                                                  N*   Join rows with newlines

1

Matlab, 96

[x,y,q]=ndgrid(-1:.03:1,-2:.01:.5,32);c=i*x+y;z=q*0;for i=1:100;z=z.^2+c;end;[q+3*(abs(z)<2),'']


                                                                                                                                                                                                        #                                                  



                                                                                                                                                                                            ##                                                             
                                                                                                                                                                                           #####                                                           
                                                                                                                                                                                      #############                                                        
                                                                                                                                                                                    ##################                                                     
                                                                                                                                                                                   ###################                                                     
                                                                                                                                                                                  ####################                                                     
                                                                                                                                                                                   ##################                                                      
                                                                                                                                                                                     #############                                                         
                                                                                                                                                                          ##  ########################## #   #                                             
                                                                                                                                                  ##    #         ################################################ ####                                    
                                                                                                                                                  #########  # #########################################################  #        #                       
                                                                                                                                                 ######### ##################################################################    ########                  
                                                                                                                                                       ##################################################################################                  
                                                                                                                                              #   #####################################################################################                    
                                                                                                                                              # ##################################################################################### #                    
                                                                                                                                        #### ########################################################################################### #                 
                                                                                                                                         # ############################################################################################## #                
                                                                                                                                       ####################################################################################################                
                                                                                                                                    ##############################################################################################################         
                                                                                                                                     ########################################################################################################              
                                                                                                    #                           ##############################################################################################################             
                                                                                    #####     ############ ###                    ############################################################################################################             
                                                                                    ##############################               ################################################################################################################          
                                                                                   ###################################         ###############################################################################################################             
                                                                              ## #######################################       ################################################################################################################            
                                                                               ###########################################    ############################################################################################################### #            
                                                                             ###############################################  ################################################################################################################             
                                                                           ################################################## #############################################################################################################                
                                                                 #########  ################################################# ###########################################################################################################                  
                        ##                                   ## ####################################################################################################################################################################                       
                                                                ######################################################################################################################################################################                     
                                                                 ########   ################################################# ###########################################################################################################                  
                                                                             ###############################################  #############################################################################################################                
                                                                            ################################################  ##############################################################################################################               
                                                                                #########################################      ################################################################################################################            
                                                                             # #  ######################################       ###############################################################################################################             
                                                                                     ################################           ##############################################################################################################             
                                                                                    ##### #####################  #              #################################################################################################################          
                                                                                     ####     #    ###   #   #                     ############################################################################################################            
                                                                                                                              # ### #########################################################################################################              
                                                                                                                                     ####################################################################################################### ###           
                                                                                                                                  # ## ##########################################################################################################          
                                                                                                                                       # ##################################################################################################                
                                                                                                                                        ###################################################################################################                
                                                                                                                                       #################################################################################################                   
                                                                                                                                               ######################################################################################                      
                                                                                                                                                   #####################################################################################                   
                                                                                                                                                   ############################################################################ #########                  
                                                                                                                                                ########## ################################################################ #    #########                 
                                                                                                                                                   #######     ## #################################################### #                                   
                                                                                                                                                                   ########################################### ##  #####                                   
                                                                                                                                                                         ##    # #   #### #### ## ###     #                                                
                                                                                                                                                                                     ###############                                                       
                                                                                                                                                                                  ####################                                                     
                                                                                                                                                                                  #####################                                                    
                                                                                                                                                                                   ###################                                                     
                                                                                                                                                                                  ################## #                                                     
                                                                                                                                                                                       #########                                                           
                                                                                                                                                                                           #####                                                           
                                                                                                                                                                                             #                                                             

1

Befunge, 266 byte

0>:00p58*`#@_0>:01p78vv$$<
@^+1g00,+55_v# !`\+*9<>4v$
@v30p20"?~^"< ^+1g10,+*8<$
@>p0\>\::*::882**02g*0v >^
`*:*" d":+*:-*"[Z"+g3 < |<
v-*"[Z"+g30*g20**288\--\<#
>2**5#>8*:*/00g"P"*58*:*v^
v*288 p20/**288:+*"[Z"+-<:
>*%03 p58*:*/01g"3"* v>::^
   \_^#!:-1\+-*2*:*85<^

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

Đây là một trình kết xuất Mandelbrot mà tôi đã triển khai vài năm trước để nộp mã Rosetta . Do Befunge không có dấu phẩy động, nên nó sử dụng một dạng số học điểm cố định 14 bit được mô phỏng với các phép toán số nguyên. Nó có tối đa 94 lần lặp với bộ ký tự ASCII là "bảng màu".

Điều này ban đầu được thực hiện với tính di động trong tâm trí chứ không phải kích thước, nhưng nó vẫn nên được chơi golf hợp lý như nó là.

Đầu ra mẫu

Kết xuất Mandelbrot nghệ thuật ASCII


0

Con trăn 444

print (lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,Sy=Sy,L=lambda yc,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,i=IM,Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro,i=i,Sx=Sx,F=lambda xc,yc,x,y,k,f=lambda xc,yc,x,y,k,f:(k<=0)or (x*x+y*y>=4.0) or 1+f(xc,yc,x*x-y*y+xc,2.0*x*y+yc,k-1,f):f(xc,yc,x,y,k,f):chr(64+F(Ru+x*(Ro-Ru)/Sx,yc,0,0,i)),range(Sx))):L(Iu+y*(Io-Iu)/Sy),range(Sy))))(-2.1, 0.7, -1.2, 1.2, 30, 80, 24)

Đây là một trong những nhà phát triển python ,
mặc dù không thực sự ngắn,
là một dòng khá đẹp.


0

c ++ (260)

Mã đánh gôn:

#include<iostream>
void main(){for(float i=-1;i<=1;i+=0.03125){for(float r=-2;r<=1;r+=.03125){float zr=r,zi=i;for(int n=0;n<31;n++){float nzr=zr*zr-zi*zi;zi=zr*zi*2;zr=nzr;zr+=r;zi+=i;}if(zi*zi+zr*zr<4){std::cout<<"*";}else{std::cout<<" ";}}std::cout<<"\n";}}

Ví dụ đầu ra:

                                                               *



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



                                                               *

bạn đã bao gồm toán học cho sqrt (x ^ 2 + y ^ 2) <2. Bạn có thể so sánh với 4 và loại bỏ sqrt và bao gồm.
ilmale

0

Chồn 0,9 , 77 74 byte (INVALID)

Câu trả lời này không hợp lệ vì ngôn ngữ được tạo ra tốt sau thử thách này, nhưng tôi đang đăng nó để có giải pháp trong ngôn ngữ này. Làm cho nó đẹp đi 3 byte woo!

1~12$:;56*[i53*$:1-0c*99*[di39*$:2-+048*[d$~2`9&d*2c+]02@ik" "+Oxx]25*Ox].

Hãy thử nó ở đây.

Đầu ra

!!!!!!!!""""""######################$$$$$$$$%%%&&(,**+ %$$$$$$######"""""""""""""
!!!!!!!"""""######################$$$$$$$$$%%%%''(*3+)'&%%$$$$$$######"""""""""""
!!!!!!""""#####################$$$$$$$$$$%%%%&(*--? 5+)(&%%%$$$$$#######"""""""""
!!!!!""""####################$$$$$$$$$$%%&&&&'(,      2)'&%%%%%$$$#######""""""""
!!!!"""####################$$$$$$$$$%%&&&&'''()-      /)('&&&&&%%$$$#######""""""
!!!!""###################$$$$$$$%%%%&)1//))+ ,202    3/.+. ('''(/&%$########"""""
!!!""##################$$$$$%%%%%%&&'),   /               4 +00.2+%%$########""""
!!""################$$$%%%%%%%%%&&&'()+6                        +'&%$$########"""
!!"##############$$%%&%%%%%%%%&&&''2 62                       5,)'&%%$$########""
!!#########$$$$$%%&'.('''''''''''((*/                           ,)+&%$$#########"
!"#####$$$$$$$%%%%&(-,+/)*3+)*(())+                               2&%$$$########"
!###$$$$$$$$%%%%%&'')+1 <56  ;/,++.                              +(&%$$$#########
!#$$$$$$$$%%%%%%&'')+.5         ;/4                              4)&%$$$$########
!$$$$$$$$%%&&&'(4*)+/                                           :=&%%$$$$########
!$%%%%&'&&&&''()+6; 7                                           )'&%%$$$$########
                                                             ?-)'&&%%$$$$########
!$%%%%&'&&&&''()+6; 7                                           )'&%%$$$$########
!$$$$$$$$%%&&&'(4*)+/                                           :=&%%$$$$########
!#$$$$$$$$%%%%%%&'')+.5         ;/4                              4)&%$$$$########
!###$$$$$$$$%%%%%&'')+1 <56  ;/,++.                              +(&%$$$#########
!"#####$$$$$$$%%%%&(-,+/)*3+)*(())+                               2&%$$$########"
!!#########$$$$$%%&'.('''''''''''((*/                           ,)+&%$$#########"
!!"##############$$%%&%%%%%%%%&&&''2 62                       5,)'&%%$$########""
!!""################$$$%%%%%%%%%&&&'()+6                        +'&%$$########"""
!!!""##################$$$$$%%%%%%&&'),   /               4 +00.2+%%$########""""
!!!!""###################$$$$$$$%%%%&)1//))+ ,202    3/.+. ('''(/&%$########"""""
!!!!"""####################$$$$$$$$$%%&&&&'''()-      /)('&&&&&%%$$$#######""""""
!!!!!""""####################$$$$$$$$$$%%&&&&'(,      2)'&%%%%%$$$#######""""""""
!!!!!!""""#####################$$$$$$$$$$%%%%&(*--? 5+)(&%%%$$$$$#######"""""""""
!!!!!!!"""""######################$$$$$$$$$%%%%''(*3+)'&%%$$$$$$######"""""""""""

Giải trình

Điều này tận dụng việc xử lý nội bộ các số phức của Python, vì vậy tôi chỉ có thể làm 1~12$:;(tương đương với (-1)**0.5Python) để có được đơn vị tưởng tượng. Sau đó, có ba lồng Đối với các vòng lặp, trong đó vòng lặp thông qua y, xz=z^2+c. Việc thoát ra khỏi vòng lặp trong cùng là cần thiết (và được thực hiện bởi d$~2`9&) bởi vì nếu không, các con số sẽ trở nên lớn đến mức chúng trở thành (NaN+Nanj), có vẻ như có cường độ nhỏ hơn 2.


0

Python 3, 185 byte

Bản dịch từ perl (193) với một số cải tiến

Y=-1.2
r=range
for _ in r(25):
 X=-2
 for _ in r(80):
  r=i=0
  for n in r(16):
   r,i=r*r-i*i+X,2*r*i+Y
   if r*r+i*i>4:break
  print(".,:;=+itIYVXRBM "[n],end='')
  X+=3/80
 Y+=2.4/25

0

> <> , 118 byte

1 v
2-\:01-(?;0
*&\0084
?!\}::*{::*$@-}2**}:@@:{+r+::*{::*$@+4(&1-:&*
ao\&~:*$:*+4(}" *"{?$~o1aa+,+:1)22@@?!.~~~1aa+,-

Hãy thử trực tuyến! Được cảnh báo, mất khoảng 25 giây để chạy bằng TIO, vì vậy hãy kiên nhẫn!

Nhiều hơn một thử thách bản thân hơn là một mục nghiêm trọng. Tạo đầu ra sau:

                                        *                    

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

                                        *                    

0

; # , 150.878 byte (không lọc)

Nó không phù hợp ở đây :(

Đầu ra:

         !!!!!!!!"""""""""""""""""""""""""""##########$$$$%%&(.)(*2%$#######""""""""!!!!!!!!!!!!!!!!!
        !!!!!!!"""""""""""""""""""""""""""###########$$$$%%&'(*0+('&%$$#######""""""""!!!!!!!!!!!!!!!
       !!!!!!""""""""""""""""""""""""""############$$$$$%&(**-:::1('&%$$$#######""""""""!!!!!!!!!!!!!
      !!!!!""""""""""""""""""""""""""############$$$%%%&'(+:::::::02*&%$$$$$######""""""""!!!!!!!!!!!
      !!!"""""""""""""""""""""""""############$$%%%%%&&&'(4:::::::8:'&&%%%$$$$$####"""""""""!!!!!!!!!
     !!!""""""""""""""""""""""""##########$$$%&&'2''''(())+7::::::1*)(('&%%%%%'&$###"""""""""!!!!!!!!
    !!!"""""""""""""""""""""""#######$$$$$$%%&(-:0/+*,::2::::::::::::5:::('''(.+&%$##"""""""""!!!!!!!
   !!""""""""""""""""""""""#####$$$$$$$$$%%%&&(*3:::7:::::::::::::::::::::,::8:1)%$$##""""""""""!!!!!
   !""""""""""""""""""""####$$$$$$$$$$$%%%%&'()*.8::::::::::::::::::::::::::::56&%$$###""""""""""!!!!
  !!""""""""""""""""####$%%%$$$$$$$$%%%%%&'):8:5:::::::::::::::::::::::::::::0*(&%%$$##""""""""""!!!!
  !"""""""""""######$$%%(+'&&&&&&&&&&&&&&''),3:::::::::::::::::::::::::::::::::+(()%$###""""""""""!!!
 !"""""""#########$$$$%%)3*()(()4+(('''''(*9::::::::::::::::::::::::::::::::::::::*%$###"""""""""""!!
 !"""##########$$$$$$%%&'(*/:7.13::/:+*))*-:::::::::::::::::::::::::::::::::::::,(&%$####""""""""""!!
 ""##########$$$$$$$%&&&()+0:::::::::::2,,0:::::::::::::::::::::::::::::::::::::::&$$####"""""""""""!
 "#########$$$$$$$%(''((*0:::::::::::::::1::::::::::::::::::::::::::::::::::::::,'%$$#####""""""""""!
 ########$%%%%%%&&'(+.,..5::::::::::::::::::::::::::::::::::::::::::::::::::::::'%%$$#####""""""""""!
 $$$%%&&(&&'''''(,*+.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::*'&%$$$#####""""""""""!
 $$&%%'):)('))((),,,9::::::::::::::::::::::::::::::::::::::::::::::::::::::::,('&%$$$#####""""""""""!
 ##$$$##$%%%%%%&&&'(*8181::::::::::::::::::::::::::::::::::::::::::::::::::::::*&%$$$#####""""""""""!
 "#########$$$$%%%&(+(()*.:::::::::::::::4:::::::::::::::::::::::::::::::::::::::&%$$#####""""""""""!
 ""##########$$$$$$$%&&'+*-2::::::::::::..4::::::::::::::::::::::::::::::::::::::/&$$####"""""""""""!
 """"##########$$$$$$%&&'(*2::4::::::0.**+-:::::::::::::::::::::::::::::::::::::,(&%$####"""""""""""!
 !"""""##########$$$$%%&'-3.-*)*-:+)8(((()*.:::::::::::::::::::::::::::::::::::::,'%$####""""""""""!!
  !"""""""""#######$$$%%'4''&&&')('&&&&&''(+/::::::::::::::::::::::::::::::::::-5+-%$###""""""""""!!!
  !"""""""""""""""####$%&%%%%%%$$$%%%%%&&&')::::::::::::::::::::::::::::::::::.('&%$$###""""""""""!!!
   !"""""""""""""""""""###$$$$$$$$$$$$%%%%%&(-*-1:::::::::::::::::::::::::::::/(&%$$###""""""""""!!!!
   !!"""""""""""""""""""""#####$$$$$$$$$%%%%&'(+::::::::::::::::::::::::::0::::,7%$$##""""""""""!!!!!
    !!"""""""""""""""""""""""#######$$$$$$%%%&*:::4:+-::::::::::::::::::.)):7)+,(%$##""""""""""!!!!!!
    !!!""""""""""""""""""""""""##########$$$%&:)2/)(((+,*+,/::::::/,+))5(&&&&&'+%$##""""""""""!!!!!!!
     !!!!"""""""""""""""""""""""""###########$$%%%%%&&&''),::::::::8('&&%%%%$$$$###"""""""""!!!!!!!!!
      !!!!""""""""""""""""""""""""""############$$$%%%%&'(+::::::::-(&%%$$$$$#####"""""""""!!!!!!!!!!
       !!!!!""""""""""""""""""""""""""############$$$$$%%)+2,/:::,**'%$$$$#######""""""""!!!!!!!!!!!!
        !!!!!!"""""""""""""""""""""""""""###########$$$$$%&&'),:,)'&%$$$#######""""""""!!!!!!!!!!!!!!
         !!!!!!!!""""""""""""""""""""""""""###########$$$$%&'(.,,-*%%$#######"""""""!!!!!!!!!!!!!!!!!

Bạn không cần nhiều chi tiết này.
Rɪᴋᴇʀ
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.