数学好的,喜欢算法的朋友帮帮忙,我这有一递增的算法不会写啊,头都飞了想的!  例:
给一大头总长度为 30m, 从头切第一块长度为2m, 从木头尾切一块长度为10m(就是头尾各去一块),现在还有18m长度的木头,
客户现在要从这剩下的18m木头中切成3块,(要求是要有递增有规律的增长,经过计算后,第块自增长长度为2m,前边的数据都是客户给出的,只有这个是要我们程序员算的,就这算不好),这样这个木头
切成后就成2m,4m,6m,8m,10m
以上是一个简单的例子,已知条件就是木头 总长度给你,第一块(头)和最后一块(尾)的长度给你,再给你剩下的要切几块,
求剩下几块长度应是多少?我水平不行,数学不行,哎,不过我给大家说一下我做的,不要走弯路,就是,你算出后总长度不要超过他给他的长度,还有就是最后一块(已给出的那个尾块的的前一块,加上增长值应等于你最后一块的长度,例如上面的,增长值为2m,倒数第二块是8m,加上自动增长的就成了10m)就是这个增长值算不好,保留小数几位都可以,比如上面的,把剩下的切成4块或5块,每块又是多长?

解决方案 »

  1.   

    不知是我没看懂你的题还是其他原因
    我觉得你的条件给的“太多了”
    总长设为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是一个刚好满足的特例可能是我没有理解你的题意,你在解释清楚一点吧
      

  2.   

    比如头2M,尾10M,中间切N块. 你可以设增长为x. 那么第1块为 2+x; (不算头) 
    第2块为 2+2x ; 
    第3块为 2+3X; 
    第N块为 2+Nx; 但是你要同时满足2个条件,即 2+(N+1)x=10 (尾块) 并且 所有的块加起来=总长. 
    很有可能是无解的.