Các Sierpinski tam giác là một tập hợp các điểm trên mặt phẳng đó được xây dựng bằng cách bắt đầu với một hình tam giác đơn và nhiều lần chia tách tất cả các tam giác thành bốn hình tam giác đồng dạng và loại bỏ các trung tâm tam giác. Tam giác Sierpinki bên phải có các góc tại (0,0)
, (0,1)
và (1,0)
, và trông như thế này:
Một số định nghĩa tương đương của bộ này như sau:
Điểm trong
n
lần lặp lại của quá trình được mô tả ở trên, cho tất cản
.Các điểm
(x,y)
có0 <= x <= 1
và0 <= y <= 1
sao cho tất cả các số nguyên dươngn
,n
bit thứ trong khai triển nhị phân của x và y không phải là cả hai1
.Để cho
T = {(0,0),(1,0),(0,1)}
Hãy
f
là một hàm trên các tập hợp các điểm 2D được xác định bởi các mục sau:f(X) = {(0,0)} ∪ {(x+t)/2 | x∈X, t∈T}
Sau đó, tam giác Sierpinki bên phải là đóng cửa tôpô của điểm cố định ít nhất (bằng cách đặt ngăn chặn) của
f
.Hãy
S
là hình vuông{(x,y) | 0<=x<=1 and 0<=y<=1}
Hãy để
g(X) = S ∩ {(x+t)/2 | x∈(X), t∈T}
(nơiT
được xác định ở trên)Thì tam giác Sierpinki phải là điểm cố định lớn nhất
g
.
Thử thách
Viết chương trình hoặc hàm chấp nhận 4 số nguyên a,b,c,d
và đưa ra giá trị trung thực nếu (a/b,c/d)
thuộc về tam giác Sierpinki phải, và mặt khác sẽ cho giá trị falsey.
Chấm điểm
Đây là một mã golf. Mã ngắn nhất trong byte thắng.
Các trường hợp thử nghiệm
Sau đây là trong tam giác Sierpinki bên phải:
0 1 0 1
0 1 12345 123456
27 100 73 100
1 7 2 7
8 9 2 21
8 15 20 63
-1 -7 2 7
Sau đây không nằm trong tam giác Sierpinki bên phải:
1 1 1 1
-1 100 1 3
1 3 1 3
1 23 1 7
4 63 3 66
58 217 4351 7577
-1 -7 3 7
-1 -3 1 1
một đầu vào hợp lệ?