斐波那契数列(Fibonacci) iOS

时间:2023-01-07 21:27:50
斐波那契数列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];

//计算 Fibonacci 数列

- (NSArray *)fibonacci:(int)n

{

if (n<2) {

return nil;

}

NSMutableArray *arrayM = @[@(0),@(1)].mutableCopy;

for (int i = 2; i < n; ++i) {

NSInteger fib1 = [arrayM[i - 2] integerValue];

NSInteger fib2 = [arrayM[i - 1] integerValue];

if (fib1 + fib2 > UINT8_MAX) {

break;

}

NSLog(@"%@",@(fib1 + fib2));

[arrayM addObject:@(fib1 + fib2)];

}

return arrayM;

}