2.6 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f52e1000cf542c510041 | Задача 450: Гіпоциклоїда та вузли ґратки | 5 | 302123 | problem-450-hypocycloid-and-lattice-points |
--description--
Гіпоциклоїда — це крива, яка утворюється точкою малого кола, що котиться по внутрішній стороні іншого кола. Параметричне рівняння гіпоциклоїди з центром на початку координат, яка починається на крайній правій точці, задається так:
x(t) = (R - r) \cos(t) + r \cos(\frac{R - r}{r}t)
y(t) = (R - r) \sin(t) - r \sin(\frac{R - r}{r} t)
Де R
— радіус великого кола, r
— радіус малого кола.
Нехай C(R, r)
— це набір окремих точок з координатами, представленими цілими числами, на гіпоциклоїді з радіусом R
та r
, для яких існує відповідне значення t
, при якому \sin(t)
та \cos(t)
є раціональними числами.
Нехай S(R, r) = \sum\_{(x,y) \in C(R, r)} |x| + |y|
— це сума абсолютних значень точок координат x
та y
у C(R, r)
.
Нехай T(N) = \sum_{R = 3}^N \sum_{r=1}^{\left\lfloor \frac{R - 1}{2} \right\rfloor} S(R, r)
— це сума натуральних чисел S(R, r)
для R
і r
, R\leq N
та 2r < R
.
Дано:
\begin{align} C(3, 1) = & \\{(3, 0), (-1, 2), (-1,0), (-1,-2)\\} \\\\ C(2500, 1000) = & \\{(2500, 0), (772, 2376), (772, -2376), (516, 1792), (516, -1792), (500, 0), (68, 504), \\\\ &(68, -504),(-1356, 1088), (-1356, -1088), (-1500, 1000), (-1500, -1000)\\} \end{align}
Примітка: (-625, 0) не елемент C(2500, 1000)
, оскільки \sin(t)
не є раціональним числом для відповідних значень t.
S(3, 1) = (|3| + |0|) + (|-1| + |2|) + (|-1| + |0|) + (|-1| + |-2|) = 10
T(3) = 10
; T(10) = 524
; T(100) = 580\\,442
; T({10}^3) = 583\\,108\\,600
.
Знайдіть T({10}^6)
.
--hints--
hypocycloidAndLatticePoints()
повинен видати 583333163984220900
.
assert.strictEqual(hypocycloidAndLatticePoints(), 583333163984220900);
--seed--
--seed-contents--
function hypocycloidAndLatticePoints() {
return true;
}
hypocycloidAndLatticePoints();
--solutions--
// solution required