2017-01-23 42 views
0

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

这是我的代码。任何人都可以帮助我让它工作(这可以让代码高尔夫球手点头同意): int i = 60; int multiplier = 0; NSMutableArray * newArray = [NSMutableArray arrayWithObjects:@ 1,@ 2,@ 3,@ 4,@ 5,@“Fizz”,@ 7,@ 8,@ 9,@“buzz”,@ 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,@”Fizz“,@ 55,@ 56 @ 57 @ 58 @ 59 “Fizzbuzz” 零];

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; 
} 

}

+0

我投票关闭该曲。因为SO不是用于提供家庭作业(或面试)的答案。 – Avi

+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); 
} 

无需创建一个数组

+1

别忘了'else NSLog(@“%i”,i);'获取常规数字。 – theMikeSwan

+0

呵呵,谢谢兄弟们:) –