Просто уравнение пола

У меня есть длинное уравнение, которое я хочу упростить, но у меня нет идей, как это сделать.

4 * (этаж ((15-11 * х-пол (х /19)+ пол (х%) - пол (х% / 4) -Пол ((пол (х%) + 1-этаж ((пол (х %)+8)/25))/3))/30)-Пол ((15-11 * х-пол (х /19))/30))+ этаж ((этаж ((пол (х%) + 1-этаж ((пол (х%)+8)/25))/3)+3+3* х-пол (х / 4 +) пол (х /19)+2* этаж (0.5-11/30* х-пол (х /19)/30+(пол (х%) - пол (х% / 4) -Пол ((пол (х%) + 1-этаж ((пол (х%)+8)/25))/3))/30))/7)-Пол ((5 + 3 * х-пол (х / 4 +) пол (х /19)+2* этаж (0.5-11/30* х- пол (х /19)/30))/7)+ пол ((13-54 / 11 * х-2 * пол (х /4)-8/11* пол (х /19)+ этаж ((этаж (х%) + 1-этаж ((пол (х%) + 8) / 25)) / 3) + пол (х%) - 3 * пол (х%/4)-26* этаж ((15-11 * х-пол (х /19)+ пол (х%) - пол (х% / 4) -Пол ((пол (х%) + 1-этаж ((пол (х%)+8)/25))/3))/30)-14* этаж ((1 + этаж ((пол (х%) + 1-этаж ((пол (х%)+8)/25))/3)+3* х-пол (х / 4 +) пол (х /19)+2* этаж ((15-11 * х-пол (х /19)+ пол (х%) - пол (х% / 4) -Пол ((пол (х %) + 1-этаж ((пол (х%)+8)/25))/3))/30))/7))/41)

Я только хочу использовать функцию пола.

x здесь - положительное целое число (x>1582), а x% - это x, деленное на 100.

заранее спасибо

1 ответ

Вы не можете упростить floor(x+y) для дробных х и у, но если вы знаете, что х является целым числом, то floor(x+y) = x + floor(y)

Вы также можете упростить floor(floor(x/a)/b) через целые числа

Действительно, давайте напишем евклидовы деления для натуральных чисел x = b * (a*y+c) + d с c < a а также d < b

У нас есть x = a*b * y + (b*c+d)

Над целыми числами мы можем написать c <= a - 1таким образом b*c <= (a-1)*b,

А потом используя другое неравенство d < b => b*c+d < (a-1)*b+bтаким образом b*c+d < a*b,

таким образом floor(floor(x/a)/b) = floor( x/(a*b) ) над положительными целыми числами.

Что вы можете сделать, это написать границы выражений, таких как:

floor(a/c)+floor(b/c) <= floor((a+b)/c) <= floor(a/b)+floor(b/c)+1

затем применить правила упрощения на границах

Другие вопросы по тегам