Sierpinski üçgeni tek bir üçgen ile başlayan ve art arda dört uyumlu üçgen halinde tüm üçgenler bölme ve merkez üçgen çıkarılmasıyla oluşturulur düzlem üzerindeki noktalardan bir kümesidir. Sağ Sierpinski üçgeni de köşeleri vardır (0,0)
, (0,1)
ve (1,0)
, ve bakışlar bu gibi:
Bu setin eşdeğer bazı tanımları aşağıdaki gibidir:
Puanlar
n
işlemin inci iterasyon için yukarıda tarif edilenn
.Nokta
(x,y)
ile0 <= x <= 1
ve0 <= y <= 1
tüm pozitif tamsayılar için böylen
,n
inci x ikili genişleme bit ve y her ikisi değildir1
.İzin Vermek
T = {(0,0),(1,0),(0,1)}
Izin vermek
f
aşağıdakiler tarafından tanımlanan 2D nokta kümeleri üzerinde bir işlev olabilir:f(X) = {(0,0)} ∪ {(x+t)/2 | x∈X, t∈T}
Daha sonra sağ Sierpinski üçgen topolojik kapatma bölgesinin en azından sabit nokta arasında (resim içine konarak)
f
.Izin vermek
S
kare{(x,y) | 0<=x<=1 and 0<=y<=1}
Let
g(X) = S ∩ {(x+t)/2 | x∈(X), t∈T}
(T
yukarıda tanımlandığı gibidir)O zaman doğru Sierpinski üçgeni en büyük sabit noktadır
g
.
Meydan okuma
4 tamsayıyı kabul eden ve doğru Sierpinski üçgenine aitse a,b,c,d
doğruluk değeri (a/b,c/d)
veren ve aksi halde falsey değeri veren bir program veya işlev yazın .
puanlama
Bu bir kod golf. Bayt cinsinden en kısa kod kazanır.
Test senaryoları
Aşağıdakiler sağ Sierpinski üçgeninde:
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
Aşağıdakiler sağ Sierpinski üçgeninde değil:
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
geçerli bir girdi?