Fizz Buzz 问题详解

给定一个整数 n,对于每一个满足 i <= n 的正整数 i,我们的任务是打印:

  • 如果 i 能被 35 整除,则打印 "FizzBuzz";
  • 如果 i 能被 3 整除,则打印 "Fizz";
  • 如果 i 能被 5 整除,则打印 "Buzz";
  • 如果以上条件都不满足,则将 i 作为字符串打印。

示例:

> 输入: n = 3

> 输出: ["1", "2", "Fizz"]

>

> 输入: n = 10

> 输出: ["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz"]

>

> 输入: n = 20

> 输出: ["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz", "16", "17", "Fizz", "19", "Buzz"]
在练习平台试一试!

目录

  • [朴素方法] 逐个检查每个整数
  • [更优方法] 通过字符串拼接
  • [推荐方法] 使用哈希表或字典

[朴素方法] 逐个检查每个整数

解决这个问题一个非常简单的方法是,我们可以从 1n 开始检查每一个数字,看它是否能被 3、5 或者 同时被两者 整除。根据可除性的情况:

  • 如果一个数字能同时被 35 整除,我们将 "FizzBuzz" 添加到 result 中。
  • 如果它仅能被 3 整除,我们将 "Fizz" 添加到 result 中。
  • 如果它仅能被 5 整除,我们将 "Buzz" 添加到 result 中。
  • 否则,我们将数字本身添加到 result 中。

C++


CODEBLOCK_d2627cac

C


CODEBLOCK_3fe22f1f

Java


CODEBLOCK_cbb04971

Python


CODEBLOCK_b806666e

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/33839.html
点赞
0.00 平均评分 (0% 分数) - 0