斐波那契数列(Fibonacci) iOS
2017-09-24 23:03
309 查看
斐波那契数列Fibonacci
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368
特别指出:第0项是0,第1项是第一个1。
这个数列从第2项开始,每一项都等于前两项之和。
代码如下:
NSArray *array = [self fibonacci:INT8_MAX];
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008f00; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff; min-height: 13.0px }
span.s1 { color: #3495af }
span.s2 { color: #0433ff }
span.s3 { color: #b4261a }
//计算 Fibonacci 数列
- (NSArray *)fibonacci:(int)n
{
if (n<2) {
return nil;
}
NSMutableArray *arrayM = [NSMutableArray arrayWithObjects:@"0",@"1", nil nil];
for (int i = 2; i < n; ++i) {
long fib1 = [arrayM[i - 2] integerValue];
long fib2 = [arrayM[i - 1] integerValue];
if (fib1 + fib2 > UINT8_MAX) {
NSLog(@"%d",i);
break;
}
[arrayM addObject:@(fib1 + fib2)];
}
return arrayM;
}
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368
特别指出:第0项是0,第1项是第一个1。
这个数列从第2项开始,每一项都等于前两项之和。
代码如下:
NSArray *array = [self fibonacci:INT8_MAX];
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008f00; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff; min-height: 13.0px }
span.s1 { color: #3495af }
span.s2 { color: #0433ff }
span.s3 { color: #b4261a }
//计算 Fibonacci 数列
- (NSArray *)fibonacci:(int)n
{
if (n<2) {
return nil;
}
NSMutableArray *arrayM = [NSMutableArray arrayWithObjects:@"0",@"1", nil nil];
for (int i = 2; i < n; ++i) {
long fib1 = [arrayM[i - 2] integerValue];
long fib2 = [arrayM[i - 1] integerValue];
if (fib1 + fib2 > UINT8_MAX) {
NSLog(@"%d",i);
break;
}
[arrayM addObject:@(fib1 + fib2)];
}
return arrayM;
}
相关文章推荐
- iOS开发之UI基础--tableView展示斐波那契数列(Fibonacci)
- 斐波那契数列非递归算法(fibonacci)
- 斐波那契数列(Fibonacci)
- Fibonacci斐波那契数列序列
- 使用并行的方法计算斐波那契数列 (Fibonacci)
- 斐波那契数列的几种实现与递归(Fibonacci Function and Recurrence)
- HDURevenge of Fibonacci --- 高精度 + 斐波那契数列 + 字典树
- 斐波那契数列三种算法(fibonacci)
- 剑指offer之斐波那契数列(Fibonacci)
- hrbust 1048Calculate Fibonacci Recursivel【斐波那契数列】
- 斐波那契数列非递归算法(fibonacci)
- 斐波那契数列(Fibonacci)
- Fibonacci 斐波那契数列(求第n项值的前4位数字)
- C语言 - 斐波那契数列(Fibonacci) 指定区间输出
- Fibonacci(斐波那契数列)的第N位数
- 例题10-1 UVA 11582 Colossal Fibonacci Numbers!巨大的斐波那契数列
- poj-3070 Fibonacci(矩阵快速幂 + 斐波那契数列)
- 快速求斐波那契数列第n项值 poj3070 Fibonacci
- POJ 3070-Fibonacci(矩阵快速幂求斐波那契数列)
- Fibonacci 斐波那契数列 面向对象 java 版本 代码