-1

我有一个很长的方程式,我想简化,但我不知道如何简化。

4*(地板((15-11*x-地板(x/19)+地板(x%)-地板(x%/4)-地板((地板(x%)+1-地板((地板(x %)+8)/25))/3))/30)-地板((15-11*x-地板(x/19))/30))+地板((地板((地板(x%))+ 1层((层(x%)+8)/25))/3)+3+3*x层(x/4)+层(x/19)+2*层(0.5-11/30 *x-地板(x/19)/30+(地板(x%)-地板(x%/4)-地板((地板(x%)+1-地板((地板(x%)+8))/ 25))/3))/30))/7)-地板((5+3*x-地板(x/4)+地板(x/19)+2*地板(0.5-11/30*x-)地板(x/19)/30))/7)+地板((13-54/11*x-2*地板(x/4)-8/11*地板(x/19)+地板((地板( x%)+1-地板((地板(x%)+8)/25))/3)+地板(x%)-3*地板(x%/4)-26*地板((15-11* x-地板(x/19)+地板(x%)-地板(x%/4)-地板((地板(x%)+1-地板((地板(x%)+8)/25))/ 3))/30)-14*地板((1+地板((地板(x%)+1地板((地板(x%)+8)/25)))/3)+3*x地板( x/4)+地板(x/19)+2*地板((15-11*x-地板(x/19)+地板(x%)-地板(x%/4)-地板((地板(x %)+1-地板((地板(x%)+8)/25))/3))/30))/7))/41)

我只想使用地板功能。

这里的 x 是一个正整数 (x>1582),x% 是 x 除以 100。

先感谢您

4

1 回答 1

0

您无法简化floor(x+y)小数 x 和 y,但如果您知道 x 是整数,那么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

然后在边界上应用简化规则

于 2017-10-31T09:20:27.380 回答