魔方吧·中文魔方俱乐部

标题: 一根杆子的问题 [打印本页]

作者: 金眼睛    时间: 2009-9-21 10:14:10     标题: 一根杆子的问题

还是来出一道比较有趣的问题吧,欢迎欣然来试试,说说思路也好么!呵呵!

已知:有一条笔直通向远方的大路,在路的起点有一条起始线,然后每隔固定的距离都画有起始线的平行线。

          现在只知道这个固定间隔的下限是Smin,固定间隔的上限是Smax。

要求:制作一根直杆,要求将这根直杆按照某种放置方式放到路面上之后(不能接触起始线,放置位置固定),一定会与路面上的线相交。

解释:也就是说杆子放好以后,无论固定间隔取为Smin到Smax区间内的哪个值,都会发生相交的情况。显而易见、杆长为Smax,无论垂直于平行线放置在任何位置都是符合题意的,但L=Smax有些浪费,如果合理安排杆子的位置,其长度应该有一个最小值Lmin。

所求:这根杆子最短长度Lmin。

例题:Smin=11,Smax=17的情况下,Lmin为多少?

————————————————————————————————————————————————————————————————

补充问题:如果放置位置也提出要求结果又如何?比如杆子底端与起始线之间距离D为定值,或者D在一定范围内取值。

[ 本帖最后由 金眼睛 于 2009-9-24 10:10 编辑 ]

附件: [题意图] road.JPG (2009-9-22 10:57:50, 37.23 KB) / 下载次数 77
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=NjkxNDB8ZWM3MTlhMTB8MTczNDU2MTg1MXwwfDA%3D
作者: lulijie    时间: 2009-9-21 22:45:02

杆子与平行线垂直,近端距起始线距离Smin,杆子最短长度为Smax-Smin。
不知道题目我是否理解错了。这么简单?
作者: conwood    时间: 2009-9-22 01:09:20

S一定是整数吗?是的话取Smin到Smax的数的最小公倍数。
作者: 金眼睛    时间: 2009-9-22 10:51:35

原帖由 lulijie 于 2009-9-21 22:45 发表
杆子与平行线垂直,近端距起始线距离Smin,杆子最短长度为Smax-Smin。
不知道题目我是否理解错了。这么简单?


这道题是从我工作中的一个实际问题抽象而来的,看似简单,实际很考验思路,有了思路也确实不难,所以说还是很有趣的。

我出的例子不是很好,按照这个例子确实杆子最短为Smax-Smin,但不是所有情况都如此。

比如:Smax=8,Smin=1,D=4,则Lmin=4,而并不是Smax-Smin=7。

最好是用理论证明一下,这样才能解决补充问题,即对任意D值求Lmin,Lmin随D值变化的曲线也是蛮有趣的。

另:用最小公倍数来确定我认为是不对的,杆子长为Smax已经足够了,O(∩_∩)O~

[ 本帖最后由 金眼睛 于 2009-9-22 11:26 编辑 ]
作者: 乌木    时间: 2009-9-23 00:08:51

好像类似方法可以求π值的?
作者: tm__xk    时间: 2009-9-23 01:21:33

其实....我根本就没明白题意....
作者: rubik-fan    时间: 2009-9-23 09:43:47

没搞明白题目意思.我要么坚信楼主的表达能力有问题,要么怀疑我的智商有问题.
作者: lj040051    时间: 2009-9-23 10:08:15

原帖由 rubik-fan 于 2009-9-23 09:43 发表
没搞明白题目意思.我要么坚信楼主的表达能力有问题,要么怀疑我的智商有问题.

真的看不到你的头像~~~~~~~~~~~~~~~~~~~
作者: lulijie    时间: 2009-9-23 13:45:02

假设杆子垂直起始线放置,近端距起始线距离D,划线的间距为S,杆子长度为L
那么  D<=k*S<=D+L           k等于某个整数。
题目的意思是当D确定时,对于S∈[Smin,Smax],上述式子的k都存在,求最小的L。
  那么D/S<=k<=D/S+L/S。
所以D/S+L/S>={D/S}         {X}表示不小于X的最小整数
所以L>=S*{D/S}-D
Lmin=Max(S*{D/S}-D)         S∈[Smin,Smax]   
        Max(f)  表示S在上述范围内变化时f的最大值。
如果D限制在某范围内时,那么所求的最小值就等于函数Lmin在该范围内(自变量为D)的最小值

[ 本帖最后由 lulijie 于 2009-9-23 13:59 编辑 ]
作者: lulijie    时间: 2009-9-23 13:51:04

对于  Smax=8,Smin=1,D=4
Lmin=Max(S*{4/S}-4)        S∈[1,8]  
所以Lmin =4
作者: 外野手    时间: 2009-9-23 14:28:43

D≤(Smin+Smax)/2,Lmin=Smax-D;
(Smin+Smax)/2<D<Smax,Lmin=D-Smin;
D≥Smax,Lmin=D-Smin。
不知道合不合LZ的题意。
作者: lulijie    时间: 2009-9-23 19:54:28

Lmin=max(S*{D/S}-D)=max(S*{D/S})-D
若D<Smin::                     那么 Lmin= Smax* -D
若D/Smax为整数:          那么Lmin=Smax
若D/Smin<[D/Smax]+1:那么Lmin=Smax* ([D/Smax]+1)-D
若以上都不是:              那么Lmin=max( D/([D/Smax]+1),   Smax* ([D/Smax]+1)-D)       max(a,b)表示a和b中较大的数。
111.JPG
--------------------
修正: 以上的图应该是Smin<=1/2*Smax时的图。

[ 本帖最后由 lulijie 于 2009-9-23 20:06 编辑 ]

附件: 111.JPG (2009-9-23 19:54:28, 25.23 KB) / 下载次数 57
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=NjkzOTJ8M2FkNzM3MDZ8MTczNDU2MTg1MXwwfDA%3D
作者: lulijie    时间: 2009-9-23 21:19:19

如果Smin>Smax/2,那么图如下
222.JPG
---------------------------------------------------------------------------------

对于D不限范围(即  D∈(0,+∞)  ),那么
    如果Smax/Smin>=2 ,那么D=Smax/2,Lmin=Smax/2。
    如果Smax/Smin<2 , 那么D=Smin,Lmin=Smax-Smin。

附件: 222.JPG (2009-9-23 21:19:19, 5.91 KB) / 下载次数 56
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=NjkzOTN8ZjAyY2IxODl8MTczNDU2MTg1MXwwfDA%3D
作者: conwood    时间: 2009-9-24 09:00:39

最小公倍数不是用来确定长度的,而是用来确定位置的。放在最小公倍数那个地方,只要长度>0,就可以有交点。

原帖由 金眼睛 于 2009-9-22 10:51 发表


这道题是从我工作中的一个实际问题抽象而来的,看似简单,实际很考验思路,有了思路也确实不难,所以说还是很有趣的。

我出的例子不是很好,按照这个例子确实杆子最短为Smax-Smin,但不是所有情况都如此。
...

作者: 金眼睛    时间: 2009-9-24 10:20:30     标题: 回复 14# 的帖子

求的是最小长度。间距是可以变化的,长度只是大于零,不能保证“一定”相交。
作者: 金眼睛    时间: 2009-9-24 11:06:16

这道题来源于实际,我解的结果不知道是否正确,所以拿出来跟大家讨论一下,欢迎其他的思路及答案。

lulijie的答案与我相同,图也一样,呵呵,很有趣的一个图吧?

只不过少了一些证明和解释,就算是理解了题意的人也未必能看懂,下面我简单解释一下这个答案吧。

对于固定的Smin、Smax以及D值,至始至终要比较的是三个量的大小,在其中取最大的一个值:

1、当间距为Smax时,超出D值线的第一根Smax间隔线与D值线之间的距离。杆长不能小于该值,其具体大小为ceil(D/Smax)*Smax-D。
注:ceil()为向正无穷方向取整函数,即[x]+1;

2、当S在Smin、Smax之间取值时,S线与D线重合,也就是D为S的整数倍,此时杆长必须保证一个S的长度才能满足题意。
当间距从Smax向Smin缩小的过程中,S线第一次接触到D线的时候,这个需要保证的S是最大的一个,为D/ceil(D/Smax)。
特例:当D<Smin时,这种情况将不会发生,故这个值不需要保证。

3、当间距为Smin时,超出D值线的第一根Smin间隔线与D值线之间的距离。杆长不能小于该值,其具体大小为ceil(D/Smin)*Smin-D。

可以证明,第三个量虽然可以分别大于前两个量,但却不能同时大于它们,故第三个量可以不考虑。

答案为:
当D>=Smin时,Lmin=max(ceil(D/Smax)*Smax-D,D/ceil(D/Smax));
当D<Smin时,Lmin=ceil(D/Smax)*Smax-D=Smax-D,因为第二个量不必保证。

[ 本帖最后由 金眼睛 于 2009-9-24 11:07 编辑 ]
作者: 银色闪电    时间: 2009-9-26 00:07:22

哗,你们是做什么工作的,写的东西,我一句都没有看懂,
作者: tm__xk    时间: 2009-9-26 01:14:02

我突然发现我把题意理解了....
作者: kexin_xiao    时间: 2009-9-26 19:18:56

今天才发现,又被金眼睛点名了
仔细看了问题和答案,还是不明白,估计只有金眼睛把实际工作说明白才可以理解。
现在人变的懒了,不爱动脑子了,有问题,更喜欢编程让计算机做了。今后还要多向金眼睛同学学习,好好学习,多动手动脑!
作者: noski    时间: 2009-9-26 21:02:43

大略的一想,令D=Smin,L=Smax - Smin,似乎就是答案,但细细想来,原来这道题有趣得多,赞。。




欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) Powered by Discuz! X2