# 算法-搜狗的一道算法笔试题

### 评论（6）

2017-10-02 6 楼

A（+12）+B（+7）=C
A（+12）+B（+5）=C
A（+7）+B（-5）=C

2017-09-18 5 楼

2017-05-31 4 楼

A+12-7=A+5

A-12-7=A-19
A+12+7=A+19
A-12-5=A-17
A+12+5=A+17
A-7+5 =A-2
A+7-5 = A+2

1+7-8=0
1+7=8

13-46= -33
13+33-46=0
13+33=46

2017-05-16 3 楼

7m + 5n + 12k = B-A

7(m+k)+5(n+k) = B-A

`3 * 7 + (-4) * 5 = 1`
（可以证明不仅是5和7，任意两个互质的数都可以找到这样一种线性组合使得和为1，这个在数学上称为中国剩余定理）

```M = 3*(B-A) N = -4*(B-A)```

7M1 + 5N1 = 7M + 5N

7(M1-M) = 5(N-N1)

`V % 5 = 0, V % 7 = 0`, 因此V是35的倍数，设`V = 35 * t`
`M1 - M = 5*t, N - N1 = 7*t`

```M1 = M + 5*t N1 = N - 7*t```

```m + k = 3*(B-A) + 5*t n + k = -4*(B-A) - 7*t```

1.`t <= -3*(B-A)/5`
2.`-3*(B-A)/5 < t < -4*(B-A)/7`
3.`t >= -4*(B-A)/7`

(1) 此时有`m + k <= 0, n + k > 0`
`|n| + |m| + |k| >= |n| + |m| >= n - m = (n+k)-(m+k) = -7*(B-A)-12*t`，取极值条件为`t = floor(-3*(B-A)/5)，k=0`

(2) 此时有m + k > 0, n + k > 0

`|m| + |n| + |k| >= |m+k| + |n| >= |m+k| = 3*(B-A) + 5*t`
`|m| + |n| + |k| >= |n+k| + |m| >= |n+k| = -4*(B-A) - 7*t`

`-4*(B-A) -7*floor(-7*(B-A)/12) >= (B-A)/12`

`t >= -7*(B-A)/12`时，

`3*(B-A) + 5*ceil(-7*(B-A)/12) >= (B-A)/12`

(3) 此时有`m + k > 0, n + k < 0`
`|m| + |n| + |k| >= |m| + |n| >= m - n = (m+k) - (n+k) = 7*(B-A) + 12*t`
`t = ceil(-4*(B-A)/7)`时有极值
`7*(B-A) + 12*ceil(-4*(B-A)/7)`
k = 0时等号成立

(1) `t = floor(-3*(B-A)/5), f = -7*(B-A)-12*t, m = 3*(B-A) + 5*t, n = -4*(B-A) - 7*t, k = 0`
(2) `t = floor(-7*(B-A)/12)`且满足`5*t>-3*(B-A)``f = -4*(B-A) - 7*t`, `m = 0, k = 3*(B-A) + 5*t`, `n = -7*(B-A) - 12*t`
(3) `t = ceil(-7*(B-A)/12)`且满足`7*t<-4*(B-A)``f = 3*(B-A) + 5*t`, `n = 0`, `k = -4*(B-A) - 7*t`, `m = 7*(B-A) + 12*t`
(4) `t = ceil(-4*(B-A)/7)``f = 7*(B-A) + 12*t`, `k = 0`, `m = 3*(B-A) + 5*t`, `n = -4*(B-A) - 7*t`

(1) t = -20, f = 9
(2) t = -20, 不满足条件
(3) t = -19, f = 4
(4) t = -18, f = 15

2016-12-19 2 楼

A=0 ------------------------------------根节点
+12 -12 +7 -7 +5 -5 ------------------------子节点
....

2016-12-18 1 楼

1958 主题
5719 回复
18998 人气