a*(1+X)^(b+c)+a*(1+x)^(b+c-1)+a*(1+x)^(b+c-2)+......+a*(1+x)^(b+2)+a*(1+x)^(b+1)=SUM其中a,b,c,SUM都是已知数,求x的值主:^(b+c)之类是表示指数,且指数大于0求解比如:
100*(1+X)^12+100*(1+X)^11+100*(1+X)^10+100*(1+X)^9+100*(1+X)^8=1000求X的值?
(a=100,b=7,c=5,sum=1000)数学方法或者程序方法都行哈哈 学的都忘了

解决方案 »

  1.   

    穷举X的值再判断结果值和SUM的差别?
      

  2.   

    高阶多项式的根好像不太好求,都忘光了不过如果可以的话你可以试试Matlab。
      

  3.   

    先把a*(1+X)^(b+c)+a*(1+x)^(b+c-1)+a*(1+x)^(b+c-2)+......+a*(1+x)^(b+2)+a*(1+x)^(b+1)
    做成一个函数:
    function sum(a,b,c,x:integer):inetger;
    然后循环x:
    for x:=0 to 100 do
      if sum(100,7,5,x)=1000 then
      begin
        输出x
        break;
      end;
      

  4.   


    X不是int的,是float的这个有点那个零存整取的意思,每年存多少,存多少年,然后多少年+N年后 我能够获得多少本息和
    按照复利的计算方式来计算的有一个问题是缴费年份和存的年份不一致,比如缴费年份是10年,每年5000,15年后一次可以提取10万
    我想计算这个货币的时间价值
      

  5.   

    a*(1+X)^(b+c)+a*(1+x)^(b+c-1)+a*(1+x)^(b+c-2)+......+a*(1+x)^(b+2)+a*(1+x)^(b+1)=SUM
    先简化一下,变成标准等差数列:
    (1+x)^(b+1)+(1+x)^(b+2)+....+(1+x)^(b+c)=SUM/a
    首项:(1+x)^(b+1)
    公比:(1+x)
    项数:c
    所以有:
       (1+x)^(b+1)*x^(c-1)=SUM/a然后由程序代入求值吧
      

  6.   

    等比数列求和公式应该是
    S=a1*(1-q^(n+1))/(1-q)吧?
    a1:首项
    q:公比
    n:项数
    S:和
    在本题中,应该就是
    [(1+x)^(b+1)]*[1-(1+x)^(c+1)]/(-x)=sum/a
    化简为
    [(1+x)^(b+1)]*[(1+x)^(c+1)-1]=x*sum/a

    x=a * [(1+x)^(b+1)]*[(1+x)^(c+1)-1] / sum
    然后可以用迭代法求出x。具体步骤是,
    Step1:随便取一个x[0] (比方说令x[0]=1,或者用其他方法给出一个比较接近答案的x[0])
    Step2:x[i+1]= a * [(1+xi)^(b+1)]*[(1+xi)^(c+1)-1] / sum
    Step3:如果x[i+1]与x[i]足够接近,则认为x[i+1]就是所求的x,否则反复执行Step2。
      

  7.   

    提出共项
    a*(1+X)^(b+c)+a*(1+x)^(b+c-1)+a*(1+x)^(b+c-2)+......+a*(1+x)^(b+2)+a*(1+x)^(b+1)=SUM
    <=>(1+X)^(b+c)+(1+x)^(b+c-1)+(1+x)^(b+c-2)+......+(1+x)^(b+2)+(1+x)^(b+1)=SUM/a
    <==>(1+x)^b*(1+x)^c+(1+x)^b*(1+x)^c*(1+x)^-1+(1+x)^b*(1+x)^c*(1+x)^-2+.....+(1+x)^b*(1+x)^2+(1+x)^b*(1+x)^1=SUM/a
    <==>(1+x)^b*((1+x)^c+(1+x)^c*(1+x)^-1+(1+x)^c*(1+x)^-2+......+(1+x)^2+(1+x))=SUM/a
    <==>(1+x)^c+(1+x)^c*(1+x)^-1+(1+x)^c*(1+x)^-2+......+(1+x)^2+(1+x)=SUM/a/(1+x)^b
    <==>(1+x)^c*((1+x)^-1+(1+x)^-2+......+(1+x)^-N+1+(1+x)^N)=SUM/a/(1+x)^b (当(1+x)^N=(1+x))
    <==>(1+x)^-1+(1+x)^-2+......+(1+x)^-N+1+(1+x)^N=SUM/a/(1+x)^b/(1+x)^c (当(1+x)^N=(1+x))
    <==>a*(1+x)^b*(1+x)^c*((1+x)^-1+(1+x)^-2+......+(1+x)^-N+1+(1+x)^N)=SUM (当(1+x)^N=(1+x))
      

  8.   


    哦,x是利率,那应该是1/1000-200/1000之间
    先把
    x=x/1000.0
    a*(1+X)^(b+c)+a*(1+x)^(b+c-1)+a*(1+x)^(b+c-2)+......+a*(1+x)^(b+2)+a*(1+x)^(b+1)
    做成一个函数:
    function sum(a,b,c,x:integer):float;
    然后循环x:
    for x:=1 to 200 do
      if abs(sum(100,7,5,x)-1000)<误差范围 then
      begin
        输出x
        break;
      end;当然,这是最笨最慢的办法,当时现在的机器应该足够好了
    另外,某些银行的网站说不定有现成的计算器。。
      

  9.   

    这实际上是一个等比数列的求和问题:
    计算公式如下:
    1+q+q^2+q^3+...+q^(n-1)+q^n=1*(1-q^n)/(1-q)以上计算a*(1+X)^(b+c)+a*(1+x)^(b+c-1)+a*(1+x)^(b+c-2)+......+a*(1+x)^(b+2)+a*(1+x)^(b+1)=SUM
    可设1+X=q   b+1=m   b+c=n   SUM/a=y  ,则以上计算可表示为:
    q^m+q^(m+1)+...+q^n=y代入公式中可得 q^m*(1-q^(n-m+1))/(1-q)=y
    q^m*(1-q^c)/(1-q)=y
    q^(b+1)*(q^c-1)/X=(SUM/a)