Sierpinski สามเหลี่ยมคือชุดของจุดบนเครื่องบินซึ่งถูกสร้างโดยเริ่มต้นด้วยรูปสามเหลี่ยมเดียวและซ้ำ ๆ แยกสามเหลี่ยมทั้งหมดเป็นสี่สามเหลี่ยมสอดคล้องและลบสามเหลี่ยมศูนย์ สิทธิ Sierpinski สามเหลี่ยมมีมุมที่(0,0)
, (0,1)
และ(1,0)
และมีลักษณะเช่นนี้
คำจำกัดความที่เทียบเท่าของชุดนี้มีดังนี้:
คะแนนใน
n
การทำซ้ำ THn
ของกระบวนการที่อธิบายข้างต้นทั้งหมดจุด
(x,y)
ด้วย0 <= x <= 1
และ0 <= y <= 1
เช่นว่าสำหรับจำนวนเต็มบวกทั้งหมดn
ที่n
บิต TH ในการขยายตัวของฐาน x และ y1
ไม่ได้ทั้งปล่อย
T = {(0,0),(1,0),(0,1)}
อนุญาต
f
เป็นฟังก์ชันในชุดของจุด 2D ที่กำหนดโดยต่อไปนี้:f(X) = {(0,0)} ∪ {(x+t)/2 | x∈X, t∈T}
จากนั้นทางขวา Sierpinski สามเหลี่ยมเป็นปิดทอพอโลยีของจุดอย่างน้อยคงที่ (โดยชุดบรรจุ)
f
ของอนุญาต
S
เป็นสแควร์{(x,y) | 0<=x<=1 and 0<=y<=1}
อนุญาต
g(X) = S ∩ {(x+t)/2 | x∈(X), t∈T}
(ซึ่งT
ตามที่นิยามไว้ข้างต้น)จากนั้นทางขวา Sierpinski
g
สามเหลี่ยมเป็นจุดคงที่ยิ่งใหญ่ที่สุดของ
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็ม 4 จำนวนa,b,c,d
และให้ค่าจริงถ้า(a/b,c/d)
เป็นของสามเหลี่ยม Sierpinski ด้านขวาและให้ค่าเท็จ
เกณฑ์การให้คะแนน
นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดเป็นไบต์ชนะ
กรณีทดสอบ
ต่อไปนี้อยู่ในสามเหลี่ยม Sierpinski ที่ถูกต้อง:
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
ต่อไปนี้ไม่ได้อยู่ในสามเหลี่ยม Sierpinski ที่ถูกต้อง:
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
การป้อนข้อมูลที่ถูกต้อง?