首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

算法公式,减量增加的函数

2012-03-23 
求一个算法公式,减量增加的函数。初始值x20000,结束值y200000有一个下标为N的数列例如:20000,24000,26500

求一个算法公式,减量增加的函数。
初始值x=20000,结束值y=200000
有一个下标为N的数列例如:20000,24000,26500,.......199000,200000
要求每个递增量在逐步减少,越往后越小。
谢谢!

[解决办法]
是求一个解还是所有解?

从后往前推;比如:
arr[n]=200000;
arr[n-1]=200000-2^1+1=199999;
......
arr[i]=200000-2^(n-i)+1;
......
arr[0]=200000-2^(n-0)+1


[解决办法]
发觉这题目有点奇怪...是否要控制次数呢?
比如20000 - 200000经过几次呢?
[解决办法]
假设增量一个等差递减函数An,第1个增量为A1,公差d
则有
x+A1+A2+...+An=y
x+A1+A1-d+A1-2d+...+A1-(n-1)*d=y
n*A1-n(n-1)*d/2=y-x
假设A1=k*d,则有:
nd(2k+1-n)=2(y-x)
所以,将2(y-x)分解因数即可
[解决办法]
对于本题x=20000,y=200000,2(y-x)=360000=2*2*2*2*2*2*3*3*5*5*5*5
取360000=875*24*8
即n=1875,d=24,则K=941,A1=22584,可得到:

20000 42584 65144 87680 110192 132680 155144 177584 200000


或n=1875,d=8,则K=949,A1=7592,可得到:
20000 27592 35176 42752 50320 57880 65432 72976 80512 88040 95560 103072 110576 118072 125560 133040 140512 147976 155432 162880 170320 177752 185176 192592 200000

热点排行