了解Objective C中的嘶嘶声

时间:2017-01-23 17:25:31

标签: ios objective-c fizzbuzz

您好我正在尝试在目标C中解决Fizz Buzz测试(有一个扭曲),它按顺序列出从1到60的数字(每个在新行上),除了当数字可被6整除时,程序应该而是显示“Fizz”,当数字可被10整除时,它应显示“buzz”;如果数字可以被6和10整除,那么它应该显示“Fizzbuzz”。

这是我的代码。任何人都可以帮助我让它工作(这将使代码高尔夫球手得到批准点头):     int i = 60; int multiplier = 0; NSMutableArray * newArray = [NSMutableArray arrayWithObjects:@ 1,@ 2,@ 3,@ 4,@ 5,@" Fizz",@ 7,@ 8,@ 9,@" buzz&#34 ;,@ 11,@" Fizz",@ 13,@ 14,@ 15,@ 16,@ 17,@" Fizz,@ 19,@" buzz", @ 21,@ 22,@ 23,@" Fizz",@ 25,@ 26,@ 27,@ 28,@ 29,@" Fizzbuzz",@ 31,@ 32, @ 33,@ 34,@ 35,@" Fizz",@ 37,@ 38,@ 39,@" buzz",@ 41,@" Fizz" ,@ 43,@ 44,@ 45,@ 46,@ 47,@" Fizz",@ 49,@" buzz",@ 51,@ 52,@ 53,@& #34; Fizz",@ 55,@ 56,@ 57,@ 58,@ 59," Fizzbuzz",nil];

for(int j = 1; j<=i; j++){
if([[newArray  objectAtIndex:j-1] isKindOfClass:
[NSString class]] ){
    NSLog(@"%@", [newArray  objectAtIndex:j-1]);
}
else{
    NSLog(@"%d", [[newArray  objectAtIndex:j-1] intValue]+multiplier);
}

if(j%60 == 0){
    j -= 60;
    i -= 60;
    multiplier += 60;
}

}

1 个答案:

答案 0 :(得分:0)

for (int i = 1; i <= 60; i++) {
    if(!(i % 6)) {
        if (!(i % 10))
            NSLog(@"Fizzbuzz");
        else
            NSLog(@"Fizz");
    }
    else if (!(i % 10))
        NSLog(@"Buzz");
    else 
        NSLog(@"%i", i);
}

无需创建数组。