小明特別喜歡吃糖,一開始小明沒有糖,小紅有一顆糖,小剛從超市買了一顆糖,小紅把糖給了小明,小剛把糖給了小紅,然后第二次去商店買了兩顆糖,小剛買糖的數量一直是小明和小紅手里糖之和,然后小明吃掉了小紅送給自己的糖,小紅把手里的糖全給了小明,小剛把手里的糖全給了小紅,第三次去買了三顆糖….假如不考慮小明吃糖的極限和小剛購買糖的數量,問小剛第n次買糖需要買多少顆
此題考點很簡單,廢話不多說,上代碼
//小剛買糖的次數
int numbers = 16;
NSArray *array = [self buySugar:numbers + 2];
NSLog(@"%@",[array lastObject]);
//一開始小明的糖數和小紅的糖數
NSMutableArray *newSugars = @[@(0),@(1)].mutableCopy;
if (sugars < 2) {//根據情況而已,最好寫上判斷
return newSugars[sugars - 1];
}
for (int i = 2; i < sugars; ++i) {
//小明手里的糖
NSInteger sugar1 = [newSugars[i - 2] integerValue];
//小紅手里的糖
NSInteger sugar2 = [newSugars[i - 1] integerValue];
//小剛買的糖是小明手里和小紅手里糖之和
[newSugars addObject:@(sugar1 + sugar2)];
}
return newSugars;
}