ИСН писал(а):
Алгоритм, безусловно, существует: взяли-посчитали первое слагаемое, прибавили второе, потом третье...

Не ну есть конечно и более эффективный алгоритм. Прикинули, при каком максимальном

выполнено
![$[p/q] = [k_1p/q]$ $[p/q] = [k_1p/q]$](https://dxdy-01.korotkov.co.uk/f/8/1/b/81b7aa93a0e4164ea7f35d783b99f85f82.png)
, затем прикинули, при каком максимальном

выполнено
![$[(k_1+1)p/q] = [k_2p/q]$ $[(k_1+1)p/q] = [k_2p/q]$](https://dxdy-01.korotkov.co.uk/f/8/8/5/885509b56e926330fc61242251a37ab982.png)
и т. д., затем сложили
![$k_1 \cdot [p/q] + (k_2-k_1) \cdot [k_2p/q] + \ldots$ $k_1 \cdot [p/q] + (k_2-k_1) \cdot [k_2p/q] + \ldots$](https://dxdy-01.korotkov.co.uk/f/c/8/d/c8df087fd62c3d3d53e2e88c9ac3013282.png)
. При маленьком

и больших

,

вычисления будут производиться значительно быстрее.
Я думаю, что можно и формулу получить более-менее приемлемую. Правда, сейчас уже поздно и лень думать
