Fibonacci数列的计算和转换

/******************************************************************************


  Copyright (C), 2001-2011, Huawei Tech. Co., Ltd.


 ******************************************************************************
  File Name     : 
  Version       : 
  Author        : 
  Created       : 2012/07/18
  Last Modified :
  Description   : 
  Function List :
              
  History       :
  1.Date        : 2012/07/18
    Author      : 
    Modification: Created file


******************************************************************************/




/************************************************************************/
/*  GetExtFibonacci                                                         */
/*  输入扩展Fibonacci数列的前2个数字first和second,要得到的数字的序列号num  */
/*  输入:扩展Fibonacci数列对应的序号的数字                                 */
/************************************************************************/
int fibo_num[30];
int GetExtFibonacci(int first , int second, int num)
{
if(num>30 || num<1)
return -1;
else if(num==1)
return first;
else if(num==2)
return second;
else
{
fibo_num[num-1]=GetExtFibonacci(first ,second, num-1)+GetExtFibonacci(first ,second, num-2);
return fibo_num[num-1];
}
}


/************************************************************************/
/*  CalcTotalValueOfExtFibonacci                                        */
/*  输入扩展Fibonacci数列的前2个数字first和second,和数字的序列号num    */
/*  输出:扩展Fibonacci数列对应的序号的数列之前(包括这个数列本身)的所有的数列之和         */
/************************************************************************/
int CalcTotalValueOfExtFibonacci(int first , int second, int num)
{
    if(GetExtFibonacci(first ,second, num)==-1)
return -1;
int sum=0;
for(int i=0;i<num;i++)
{
sum+=fibo_num[i];
}
return sum;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值