Swift 中简单 Fizz Buzz 算法入门
对于那些刚接触 Swift 编程的人以及来自不同编程基础的人,例如 Python 或 Java,本文应该非常有用。在这篇文章中,我们将讨论一个实现 swift 算法的简单解决方案。
Fizz Buzz
你可能已经将 Fizz Buzz 视为 Fizz Buzz,FizzBuzz 或 Fizz-Buzz; 他们都指的是同一件事。这个事物是今天讨论的主要话题。首先,什么是 FizzBuzz?
这是求职面试中常见的问题。
想象一下从 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)
}
}
简单到这一点,你可以使用你选择的任何语言并开始使用
享受编码