数学好的,喜欢算法的朋友帮帮忙,我这有一递增的算法不会写啊,头都飞了想的!

wox_wang0105 2008-08-19 09:06:15
数学好的,喜欢算法的朋友帮帮忙,我这有一递增的算法不会写啊,头都飞了想的!

例:
给一大头总长度为 30m, 从头切第一块长度为2m, 从木头尾切一块长度为10m(就是头尾各去一块),现在还有18m长度的木头,
客户现在要从这剩下的18m木头中切成3块,(要求是要有递增有规律的增长,经过计算后,第块自增长长度为2m,前边的数据都是客户给出的,只有这个是要我们程序员算的,就这算不好),这样这个木头
切成后就成2m,4m,6m,8m,10m
以上是一个简单的例子,已知条件就是木头 总长度给你,第一块(头)和最后一块(尾)的长度给你,再给你剩下的要切几块,
求剩下几块长度应是多少?

我水平不行,数学不行,哎,不过我给大家说一下我做的,不要走弯路,就是,你算出后总长度不要超过他给他的长度,还有就是最后一块(已给出的那个尾块的的前一块,加上增长值应等于你最后一块的长度,例如上面的,增长值为2m,倒数第二块是8m,加上自动增长的就成了10m)

就是这个增长值算不好,保留小数几位都可以,比如上面的,把剩下的切成4块或5块,每块又是多长?
...全文
100 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wox_wang0105 2008-08-19
  • 打赏
  • 举报
回复
比如头2M,尾10M,中间切N块.

你可以设增长为x.

那么第1块为 2+x; (不算头)
第2块为 2+2x ;
第3块为 2+3X;
第N块为 2+Nx;

但是你要同时满足2个条件,即 2+(N+1)x=10 (尾块) 并且 所有的块加起来=总长.
很有可能是无解的.
tomsheep 2008-08-19
  • 打赏
  • 举报
回复
不知是我没看懂你的题还是其他原因
我觉得你的条件给的“太多了”
总长设为s,头为a,尾为b,那么剩余(s-a-b),剩余部分切得块数n
那根据等差数列求和,该有
s-a-b=1/2*n*(a+b)
如此一来
知道了s、a、b、n中的任意三个即可求得第四个
而你的题设却是四个都是已知。。。
而你举得例子s=30,a=2,b=10,n=3是一个刚好满足的特例

可能是我没有理解你的题意,你在解释清楚一点吧

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧