Fibonacci数列变例之一
来源:互联网 发布:vb 对象库未注册 编辑:程序博客网 时间:2024/04/29 04:39
题目来自昨天看到的一篇博客,在一个变形的Fibonacci数列中,求第N个数。变形之处是,当前两个数之和大于10时,将和拆成两个一位数。比如:
0 2 2 4 6 1 0 1 1 2 3 5 8 1 3
3 4 7 1 1 2 3 5 8 1 3 4 7 1 1
算法很简单,基本逻辑是根据前两个数是否大于10决定之后一个数或两个数,一种例外情况是头两个数都是0。
int GetSumNum(int a, int b, int n){if(a<0 || b<0 || n<1){printf("Invalid input parameter!!!");return -1;}if(a==0 && b==0)return 0;while(n>2){int c = a+b;if(c > 9){a = 1;b = c - 10;n-=2;}else{a=b;b=c;n--;}}if(n==2) return b;else if (n==1) return a;else return -1;}
- Fibonacci数列变例之一
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- Fibonacci数列
- fibonacci数列
- AIDL 发生异常的原因
- 360以安全之名做搜索,可信,还是欺世盗名?
- Photoshop图层混合模式计算公式
- android sensor架构详解
- Windows2003 合并分区
- Fibonacci数列变例之一
- ArcGis地图服务连接不上(ArcGIS Server for Java的REST接口无法访问)解决方法
- 《Algorithms》第7章:Linear programming and reductions 学习笔记
- c语言标识符的名字空间和作用域
- Objective C 面向对象编程(二)
- sensor架构之app层
- 火狐和IE下getYear()获取日期不同解决方法
- 两个巨大整数相加
- Linux rpm 命令参数使用详解[介绍和应用]