斐波那契数列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; } |