Трикутник Серпінського являє собою набір точок на площині , яка будується, починаючи з одного трикутником і неодноразово розділивши все трикутники на чотири конгруентних трикутники і видалення центрального трикутника. Право Серпінського трикутник має кути в (0,0)
, (0,1)
і (1,0)
, і виглядає наступним чином :
Деякі еквівалентні визначення цього набору такі:
Бали в
n
ітерації описаного вище процесу для всіхn
.Точки
(x,y)
з0 <= x <= 1
та0 <= y <= 1
таким, що для всіх натуральних чиселn
,n
біт у бінарному розширенні x і y не є обома1
.Дозволяє
T = {(0,0),(1,0),(0,1)}
Нехай
f
буде функцією на множинах 2D точок, визначених наступним:f(X) = {(0,0)} ∪ {(x+t)/2 | x∈X, t∈T}
Тоді правий Серпінського трикутник є топологічним замиканням по меншій мірі нерухомої точки (по заданій локалізації) з
f
.Нехай
S
буде площа{(x,y) | 0<=x<=1 and 0<=y<=1}
Нехай
g(X) = S ∩ {(x+t)/2 | x∈(X), t∈T}
(деT
визначено вище)Тоді правильний трикутник Сєрпінського є найбільшою фіксованою точкою
g
.
Виклик
Напишіть програму або функцію, яка приймає 4 цілих числа a,b,c,d
і дає тритипове значення, якщо (a/b,c/d)
належить правильному трикутнику Сєрпінського, інакше дає значення фальси.
Оцінка балів
Це кодовий гольф. Виграє найкоротший код у байтах.
Тестові справи
У правому трикутнику Сьєрпінського наведено нижче:
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
У правильному трикутнику Сєрпінського не вказано:
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
дійсний вхід?