1题目描述
这里是对题目进行了抽象描述,如果想看原题请点击链接,在题目中的第五题进行查看
https://www.icourse163.org/learn/HIT-69005?tid=1450219455#/learn/ojhw?id=1222236737
设一共有y个物品,每次分成a份,一共分n次,分完后每次拿走c份不继续分,并且剩下b个物品,然后从剩下的a-c份中再拿出d份来继续分发.
如果这么看比较糊涂的话,套用一下五个水手分椰子的题干如下:5个水手,发现一堆椰子,第一个水手将椰子分成等量的5堆,还剩下1个给了猴子.将剩下的4堆混合后重新分成等量的5堆,剩下的一个给了猴子,…,最后一个水手将剩下的椰子分成等量的5堆之后,同样将剩下的一个给了猴子.
显然我们有:
a
=
n
=
5
,
b
=
1
,
c
=
1
,
d
=
4
a = n = 5,b = 1,c=1,d=4
a=n=5,b=1,c=1,d=4
2 问题求解
最后一堆剩下的物品一共有
a
×
x
+
b
a×x+b
a×x+b个,这里的
x
x
x暂且作为未知数.
前一次分堆的结果是
(
a
×
x
+
b
)
×
a
/
d
+
b
=
a
2
×
x
/
d
+
b
×
a
/
d
+
b
(a×x+b)×a/d+b=a^2×x/d+b×a/d+b
(a×x+b)×a/d+b=a2×x/d+b×a/d+b
再前一次分堆的结果是
(
a
2
×
x
/
d
+
b
×
a
/
d
+
b
)
×
a
/
d
+
b
(a^2×x/d+b×a/d+b)×a/d +b
(a2×x/d+b×a/d+b)×a/d+b=
a
3
×
x
/
d
2
+
b
×
(
a
/
d
)
2
+
b
×
a
/
d
+
b
a^3×x/d^2+b×(a/d)^2+b×a/d+b
a3×x/d2+b×(a/d)2+b×a/d+b
以此类推,我们有
这里用到了 等比数列前n项和
y
=
a
n
×
x
/
d
n
−
1
+
b
×
(
a
/
d
)
n
−
1
+
.
.
.
+
b
×
(
a
/
d
)
+
b
y=a^n×x/d^{n-1}+b×(a/d)^{n-1}+...+b×(a/d)+b
y=an×x/dn−1+b×(a/d)n−1+...+b×(a/d)+b
y
=
[
a
n
×
x
+
[
a
n
−
1
b
[
(
a
/
d
)
n
−
1
+
(
a
/
d
)
n
−
2
+
.
.
.
+
(
a
/
d
)
+
1
]
]
/
d
n
−
1
y=[a^n×x+[a^{n-1}b[(a/d)^{n-1}+(a/d)^{n-2}+...+(a/d)+1]]/d^{n-1}
y=[an×x+[an−1b[(a/d)n−1+(a/d)n−2+...+(a/d)+1]]/dn−1
y
=
[
x
×
a
n
+
[
a
n
−
1
b
(
1
−
(
d
/
a
)
n
/
(
1
−
d
/
a
)
]
]
/
d
n
−
1
y=[x×a^n+[a^{n-1}b(1-(d/a)^n/(1-d/a)]]/d^{n-1}
y=[x×an+[an−1b(1−(d/a)n/(1−d/a)]]/dn−1
1 − d / a = a − d / a = c / a 1-d/a=a-d/a=c/a 1−d/a=a−d/a=c/a
最后有
y
=
a
n
[
(
x
+
b
/
c
)
/
d
n
−
1
]
−
b
d
/
c
y=a^n[(x+b/c)/d^{n-1}]-bd/c
y=an[(x+b/c)/dn−1]−bd/c
如果
b
/
c
b/c
b/c不是整数的话,那么无论
x
x
x取什么值,都不成立.如果
b
/
c
b/c
b/c是整数的话,一定存在满足的
x
x
x,使得
[
(
x
+
b
/
c
)
/
d
n
−
1
]
=
1
[(x+b/c)/d^{n-1}]=1
[(x+b/c)/dn−1]=1从而有最小值.进一步化简有
y
=
a
n
−
b
d
/
c
y=a^n-bd/c
y=an−bd/c
3 文章来源
http://blog.sina.com.cn/s/blog_a1494e1301013w7v.html
看完这个老师的精彩推理自己整理了一遍,如果有哪些不清楚的地方可以去这个老师的博客看一下.