Swift 中简单 Fizz Buzz 算法入门

对于那些刚接触 Swift 编程的人以及来自不同编程基础的人,例如 Python 或 Java,本文应该非常有用。在这篇文章中,我们将讨论一个实现 swift 算法的简单解决方案。

Fizz Buzz

你可能已经将 Fizz Buzz 视为 Fizz Buzz,FizzBu​​zz 或 Fizz-Buzz; 他们都指的是同一件事。这个事物是今天讨论的主要话题。首先,什么是 FizzBu​​zz?

这是求职面试中常见的问题。

想象一下从 1 到 10 的一系列数字。

1 2 3 4 5 6 7 8 9 10

Fizz 和 Buzz 分别指的是 3 和 5 的倍数。换句话说,如果一个数字可被 3 整除,则用 fizz 代替; 如果一个数字可被 5 整除,则用 buzz 代替。如果一个数字同时是 3 和 5 的倍数,则该数字将替换为 fizz buzz。从本质上讲,它模仿了着名的儿童游戏 fizz buzz

要解决此问题,请打开 Xcode 以创建一个新的游乐场并初始化如下所示的数组:

// for example 
let number  = [1,2,3,4,5]
// here 3 is fizz and 5 is buzz

为了找到所有的嘶嘶声和嗡嗡声,我们必须遍历数组并检查哪些数字是嘶嘶声,哪些是嗡嗡声。为此,创建一个 for 循环来迭代我们初始化的数组:

for num in number {
  // Body and calculation goes here
}

在此之后,我们可以简单地使用 if else 条件和模块运算符在 swift ie - %中找到 fizz 和 buzz

for num in number {
  if num % 3 == 0 {
    print("\(num) fizz")
  } else {
    print(num)
  }
}

大! 你可以转到 Xcode playground 中的调试控制台查看输出。你会发现 fizzes 已经在你的数组中进行了整理。

对于 Buzz 部分,我们将使用相同的技术。在滚动浏览文章之前,我们先尝试一下 - 完成此操作后,你可以根据本文检查结果。

for num in number {
  if num % 3 == 0 {
    print("\(num) fizz")
  } else if num % 5 == 0 {
    print("\(num) buzz")
  } else {
    print(num)
  }
}

检查输出!

这是相当直接的 - 你将数字除以 3,fizz 并将数字除以 5,嗡嗡声。现在,增加数组中的数字

let number = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

我们将数字范围从 1-10 增加到 1-15,以展示嘶嘶声的概念。由于 15 是 3 和 5 的倍数,因此该数字应替换为 fizz buzz。试试自己并检查答案!

这是解决方案:

for num in number {
  if num % 3 == 0 && num % 5 == 0 {
    print("\(num) fizz buzz")
  } else if num % 3 == 0 {
    print("\(num) fizz")
  } else if num % 5 == 0 {
    print("\(num) buzz")
  } else {
    print(num)
  }
}

等等……但它还没结束! 该算法的整个目的是正确定制运行时。想象一下,如果范围从 1-15 增加到 1-100。编译器将检查每个数字以确定它是否可被 3 或 5 整除。然后它将再次遍历数字以检查数字是否可被 3 和 5 整除。代码基本上必须遍历数组中的每个数字两次 - 它必须首先运行数字 3 然后再运行 5.为了加快这个过程,我们可以简单地告诉我们的代码将数字直接除以 15。

这是最终的代码:

for num in number {
  if num % 15 == 0 {
    print("\(num) fizz buzz")
  } else if num % 3 == 0 {
    print("\(num) fizz")
  } else if num % 5 == 0 {
    print("\(num) buzz")
  } else {
    print(num)
  }
}

简单到这一点,你可以使用你选择的任何语言并开始使用

享受编码