只是一个FLOOR方程

时间:2017-10-31 07:02:38

标签: function math floor-division

我有一个很长的等式,我想简化,但我没有想法如何。

  

4 *(地板((15-11 * X-地板(X / 19)+地板(X%) - 地板(X%/ 4)-floor((地板(X%)+ 1-地板((地板(X%)+ 8)/ 25))/ 3))/ 30)-floor((15-11 * X-地板(X / 19))/ 30))+地板((地板((地板(X %)+ 1-地板((地板(X%)+ 8)/ 25))/ 3)+ 3 + 3 * X-地板(X / 4)+地板(X / 19)+ 2 *地板(0.5-三十零分之十一* X-地板(X / 19)/ 30 +(地板(X%) - 地板(X%/ 4)-floor((地板(X%)+ 1-地板((地板(X%)+ 8)/ 25))/ 3))/ 30))/ 7)-floor((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)-floor((地板(X%)+ 1-地板((地板(X%)+ 8)/ 25 ))/ 3))/ 30)* -14地板((1楼+地板((地板(X%)+ 1-地板((地板(X%)+ 8)/ 25))/ 3)+ 3 * X -floor(X / 4)+地板(X / 19)+ 2 *地板((15-11 * X-地板(X / 19)+地板(X%) - 地板(X%/ 4)-floor((地板(X%)+ 1-地板((地板(X%)+ 8)/ 25))/ 3))/ 30))/ 7))/ 41)

我只想使用地板功能。

x这里是正整数(x> 1582),x%是x除以100.

提前谢谢

1 个答案:

答案 0 :(得分:0)

您无法简化分数x和y的floor(x+y),但如果您知道x是整数,那么floor(x+y) = x + floor(y)

您还可以简化整数floor(floor(x/a)/b)

实际上,让我们用x = b * (a*y+c) + dc < a

写出正整数d < b的欧几里德除法

我们有x = a*b * y + (b*c+d)

在整数上我们可以写c <= a - 1,因此b*c <= (a-1)*b

然后使用其他不等式d < b =&gt; b*c+d < (a-1)*b+bb*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

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