【问题标题】:Understanding the fizz buzz in Objective C理解 Objective C 中的嘶嘶声
【发布时间】:2017-01-23 17:25:31
【问题描述】:

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

这是我的代码。谁能帮我让它工作(这会让代码高尔夫球手点头同意): 诠释 i = 60;整数乘数 = 0; NSMutableArray *newArray = [NSMutableArray arrayWithObjects: @1, @2, @3, @4, @5, @"Fizz", @7, @8, @9, @"buzz", @11, @"Fizz", @13,@14,@15,@16,@17,@"嘶嘶声,@19,@"嗡嗡声",@21,@22,@23,@"嘶嘶声",@25,@26,@27, @28、@29、@"Fizzbuzz"、@31、@32、@33、@34、@35、@"Fizz"、@37、@38、@39、@"buzz"、@41、@"嘶嘶声”,@43,@44,@45,@46,@47,@“嘶嘶声”,@49,@“嗡嗡声”,@51,@52,@53,@“嘶嘶声”,@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;
}

}

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为 SO 不是为了提供家庭作业(或面试)答案。
  • 我认为只要我先提供自己的答案,人们就会提供帮助。
  • 只是我的两分钱:在询问如何为您实现 FizzBu​​zz 之前,最好先了解一下协议和类的工作原理
  • 我投票结束这个问题,因为有人只是想完成他们的家庭作业。

标签: ios objective-c fizzbuzz


【解决方案1】:
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);
}

无需创建数组。

【讨论】:

  • 别忘了else NSLog(@"%i", i); 获取常规号码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 2011-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多