另一个 FizzBu​​zz 解决方案[关闭]

2024-01-05

我参加了一次工作面试,被要求用 PHP 解决 FizzBu​​zz 问题。

编写一个程序,打印从 1 到 100 的数字。但是对于 3 的倍数,打印“Fizz”而不是数字;对于 5 的倍数,打印“Buzz”。对于三和五的倍数的数字打印“FizzBu​​zz”。

我以前从未听说过 FizzBu​​zz,但这是我解决它的方法,因为我不知道模数或如何使用它:

for ($i = 1; $i <= 100; $i++){
   if($i / 3 == round($i / 3) && $i / 5 == round($i / 5)){
      echo $i . " is FizzBuzz<br />";
   }
   else if($i / 3 == round($i / 3)){
      echo $i . " is Fizz<br />";
   }
   else if($i / 5 == round($i / 5)){
      echo $i . " is Buzz<br />";
   }
   else {
      echo $i."<br />";
   }
}

我用谷歌搜索,没有找到任何有关 round 的解决方案,这让我想到可能有问题,这是我发现的与我的接近的解决方案之一:

for ($i = 1; $i <= 100; $i++){
   if($i % 3 == 0 && $i % 5 ==0){
      echo "FizzBuzz<br />";
   }
   else if($i % 3 == 0){
      echo "Fizz<br />";
   }
   else if($i % 5 == 0){
      echo "Buzz<br />";
   }
   else {
      echo $i."<br />";
   }
}

我的代码工作正常,但有什么我看不到的问题吗?


实际上他们正在测试你如何解决如此简单的任务。它应该是令人难以置信的优化,代码应该干净且易于阅读。

您的代码版本不好。 你在网上找到的版本比较好,但是从优化的角度来看并不理想。

尝试思考如何以更少的行动来实现目标。

一些技巧:

  • 不要使用函数(例如范围)来执行此任务 - 它只会减慢脚本执行时间
  • 使用运算符“for”来完成此任务,不要使用任何其他运算符(while、do-while、foreach),因为运算符“for”最适合这种情况(您知道需要多少次迭代)。
  • 不要使用舍入函数,使用模运算符“%”,因为任何函数都比任何运算符运行得慢
  • 在结果中,您需要获取代码,其中操作数将尽可能少(“if”语句的数量,“==”或“%”等运算符的数量)

    • 使用 15 代替 % 3 && % 5 - 更少的计算 - 更快的执行时间。

我的代码示例:

for ($i = 1; $i <= 100; $i++) {
    if ($i % 15 == 0) {
        echo 'FizzBuzz<br>';
    } elseif ($i % 3 == 0) {
        echo 'Fizz<br>';
    } elseif ($i % 5 == 0) {
        echo 'Buzz<br>';
    } else {
        echo $i . '<br>';
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

另一个 FizzBu​​zz 解决方案[关闭] 的相关文章

  • 显示文件夹并建立这些文件夹的链接

    我正在寻找用 PHP 构建一个目录浏览器 我刚刚开始编写代码 但需要有人帮助我完成或修改它 dir dirname FILE path of the directory to read iterator new RecursiveDirec
  • DOMDocument 对我的字符串做了什么?

    dom new DOMDocument 1 0 UTF 8 str p Hello p var dump mb detect encoding str dom gt loadHTML str var dump dom gt saveHTML
  • 无法在WordPress的functions.php中使用php fopen()函数

    我正在尝试简单地运行 fopen 函数 php 并且也尝试过test phpWordPress 模板文件 但这不起作用 如果我将 test php 文件和 csv 文件移动到主题文件夹之外的位置 那么它第一次可以工作 function cs
  • CodeIgniter 中的 base_url() 和 403 错误

    在 HTML 视图中 css 链接代码如下所示 但我的浏览器显示的地址具有双域地址 www jedendzien pl www jedendzien pl assets css style css 所以我收到 403 错误 我通过以下方式创
  • PHP 数组的最大键大小是多少?

    我正在生成关联数组 键值是 1 n 列的字符串连接 会回来咬我的钥匙有最大长度吗 如果是这样 我可能会停下来并采取不同的做法 它似乎仅受脚本内存限制的限制 快速测试后我得到了 128mb 的密钥 没问题 ini set memory lim
  • 正则表达式匹配 2 个或更多单词

    我有一个正则表达式尝试匹配 2 个或更多单词 但它没有按预期工作 我究竟做错了什么 string i dont know do you know preg match a z b 2 string match echo pre print
  • 正则表达式匹配带或不带特殊/重音字符的字符串?

    是否有正则表达式可以匹配包含或不包含特殊字符的特定字符串 可以这么说 特殊字符不敏感 Like c ra将匹配cera 反之亦然 有任何想法吗 编辑 我想匹配带有或不带有特殊 重音字符的特定字符串 不仅仅是任何字符串 字符 测试示例 cli
  • 电子邮件标题中的特殊字符是什么以及何时使用引号?

    我正在尝试使用 PHP 发送和阅读电子邮件 到目前为止 我发现我必须使用该函数对特殊字符进行编码mb encode mimeheader 但我不必对空格进行编码 我还发现地址字段中的括号不起作用 读取带有括号的标题时 PHP 的 imap
  • 数据库字段中的空白不会被trim()删除

    我在 MySQL 的文本字段的段落开头有一些空格 Using trim var text field 在 PHP 中或TRIM text field MySQL 中的语句绝对不执行任何操作 这个空白可能是什么以及如何通过代码删除它 如果我进
  • 选择 MYSQL 行,但将行转换为列,将列转换为行

    我想选择数据库中的所有行 但我希望它们按相反的顺序排列 意思是 我想使用第一列数据作为新实体 并将实体作为第一列 我想你明白我的意思 这是一个例子 id name marks 1 Ram 45 2 Shyam 87 to id 1 2 Na
  • 如何使用 php 命令使注册表单高度安全?

    我想让代码对用户来说真正安全 下面的代码显示了 php 代码 我已将其用于我的网站 现在我已经使用了一些验证 例如密码和重复密码必须匹配 并且用户必须输入所有字段 为了使其更安全 我想插入安全命令 例如 PDO mysqli crypto
  • 通过 Composer 安装 Codeception 到 Yii2

    我在将 Codeception 安装到 Yii2 项目时遇到问题 1 下载composer到Yii2项目中 curl sS https getcomposer org installer php 2 尝试安装Codeception php
  • 两个 mysql_fetch_array 语句

    是否有任何原因导致我无法在一个 while 循环中包含两个处理两个不同 mysql 查询结果的 mysql fetch array 语句 原因是我有两个来自 mysql 数据库的查询结果 每个结果包含两列 如下所示 Query 1 Date
  • 设置基于 PHP 定时器的函数

    我有一个 php 文件test php 我想要echo or print5 秒后 即在浏览器调用 加载或打开 php 文件后不久 成功 顺便说一句 有时我可能想在特定的时间间隔后执行 初始化某些函数 如何使用 php 执行面向时间的任务 例
  • PHP:分离业务逻辑和表示逻辑,值得吗? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么要在 PHP 中使用模板系统 https stackoverflow com questions 436014 why should i use templating system in php
  • ajax - 检查用户名是否存在+如果存在则返回消息

    我试图检查用户想要的用户名是否已被使用 而无需发送表单 基本上是用户名字段的模糊 我遇到了一些麻烦 有几个问题 我有我的输入字段加上js
  • 将 1 添加到字段

    如何将以下 2 个查询变成 1 个查询 sql SELECT level FROM skills WHERE id id LIMIT 1 result db gt sql query sql level int db gt sql fetc
  • 将 IP 地址与 IPv6 块进行比较

    我使用 PHP 将用户 IP 地址与 IP 块列表进行比较 其中大多数是 IPv4 但其中一些是 IPv6 我从用户那里获得的 IP 地址始终与 IPv4 兼容 至少我是这么假设的 我将如何比较这个 这就是我现在正在使用的 function
  • 手动检查 php 中的 jpeg 文件结尾标记 ffd9 (?) 以捕获截断错误

    基本上是尝试从集合中删除损坏的 过早结束的 jpeg 文件 我认为如果文件末尾标记不存在 则意味着图像被截断 因此我认为它对我的目的无效 这是检查声音的方法吗 如果是的话 我有什么想法可以在 php 中实现这个吗 cheers 尝试这个 j
  • 散列 hash_hmac 时,Convert.ToChar(0) 散列结果与 PHP 中的 chr(0) 不同的字符串

    我在 PHP 中有一个字符串 它被转换为字节数组并进行哈希处理 转换为字节数组的字符串如下所示 G 字符 0 便便 我需要 C 中的等效字节数组 这样我才能得到相同的哈希值 编辑 这是完整的问题 生成的哈希值不同 PHP api secre

随机推荐

  • Tkinter 方法执行后立即

    TKinter after 方法立即执行 执行后暂停 3 秒 如果我还在 CheckStatus 函数中使用 after 方法 它将进入快速循环并且永远不会到达 mainloop 我究竟做错了什么 文档说该函数将在暂停时间之后调用 但实际上
  • 修改Vite/Rollup中资产的构建路径?

    假设我有这个文件夹结构 parent parent html parent js child child html child js 我希望它们在我的 dist 文件夹中以相同的结构输出 默认情况下 这是获取输出的内容 dist asset
  • 如何使用 jQuery 获取具有特定 CSS 属性的第一个父级?

    我需要找到第一个拥有的父母position relative 类似于下面的示例 但我的真实内容将动态生成 div div div div div div 您知道使用 jQuery 执行此操作的简单方法吗 You can filter的集合p
  • iOS 5 中的表情符号和 UIWebView

    我注意到我的应用程序中的表情符号已停止在 iOS 5 中的 UIWebView 上正确显示 所有字符在显示时都会被编码为 HTML 并且输出 HTML 为 p Emoji iOS 4 55357 56850 p 此 UTF 8 编码的 HT
  • ipv6 向后兼容 ipv4 吗?

    我有一个使用 ipv4 编写的小 udp 示例程序 如果我将代码更改为 ipv6 我仍然能够与使用具有 ipv4 地址的侦听器的任何人进行通信吗 我正在查看移植示例 http ou800doc caldera com en SDK neta
  • 如何将 ZeroMQ 套接字与 Ratchet Web-socket 库绑定以实现 PHP 应用程序的实时应用程序?

    我只是涉及 websocket Ratchet 和 ZeroMQ 的整个领域的初学者 以我的基本理解 websocket有助于在服务器和客户端之间创建开放连接 Ratchet是一个基于 PHP 的库 它使用 PHP 的核心 Socket 函
  • 有人知道 Java 的邮件(SMTP)传递库吗?

    我想发送邮件而不用担心用于投递的 SMTP 服务器 So Java邮件API http java sun com products javamail 对我不起作用 因为我必须指定要连接的 SMTP 服务器 我希望图书馆通过查询邮件地址域的
  • Spring Data Rest PUT 与 PATCH LinkableResources

    我正在使用 Spring Data REST 来公开我的实体及其关系 我在两个实体之间有一对一的关系 并且我正在尝试更新 更改与 PUT 和 PATCH 的关系 我注意到 Spring Data REST 只允许您更新链接资源 JPA 映射
  • 检测IE9而不进行功能检测

    所以我需要检测 IE 9 我知道我真的应该使用特征检测 https stackoverflow com questions 1944169 detecting ie using jquery 1944186 1944186但我不知道是什么功
  • 如何通过mvn命令顺序执行2个Java类

    我有 2 个具有共生关系的 Java 类 类 1 生成一些输出文件 类 2 使用类 1 的输出并验证它 这两个类都从命令行获取输入 这个项目是基于maven的 鉴于这种共生性质 我不确定如何 连接它们 我的想法是 编写另一个 Java 类
  • exec:语法错误:“返回”外部函数

    我将代码片段存储在 Postgres 数据库中 当我需要代码时 我在数据库中找到它并使用exec 功能 代码片段是extract功能 不幸的是它返回了SyntaxError return outside function Method de
  • 空对基类的目的是什么?

    libstdc 库 https github com gcc mirror gcc blob 16e2427f50c208dfe07d07f18009969502c25dc8 libstdc 2B 2B v3 include bits st
  • 在 Perl 中,如何正确解析带有引号字符串的制表符/空格分隔文件?

    我需要解析 Perl 中包含很多列的制表符 空格分隔的文件 这些值使得大字符串括在双引号内 这些字符串可以包含任何字符 例如制表符和空格或其他任何字符 当我尝试使用 split 函数解析它们时 它也会拆分这些字符串 现在我怎样才能让 per
  • 固定宽度整数类型的整数文字

    对于像这样的固定宽度整数类型 是否有一些针对整数文字的 C 建议 i s type is unsigned int auto i 10u j s type is uint32 t auto j 10u32 Yes P1280R0 整数宽度文
  • PostgreSQL 加载 back.json 文件时出现重复密钥问题

    我有一个 PostgreSQL 数据库 我在其中执行了 python manage py dumpdata 将数据备份到 json 文件中 我创建了一个新的 PostgreSQL 数据库 执行了迁移 一切都顺利进行 当我尝试使用 pytho
  • 单击外部时如何隐藏 DIV 元素

    我有一个div当我点击外部时想要隐藏它 我的代码是 div The div must be above button div mydiv click function e e stopPropagation document click f
  • Qt 的最佳 C# 绑定?

    我用 C 使用 SDL NET 和 OpenGL 编写了一个游戏 我想为其添加一个菜单 为此我需要 Qt 您推荐在 C 中为 Qt 使用哪些绑定 Qyoto http techbase kde org Development Languag
  • 使用 ggplot 围绕多个 geom_point 组绘制轮廓

    I currrently have the code included below to draw this 我想做的是为每个组制定一个大纲 以遵循每个组中的所有要点 而不是像目前那样跳过其中的一些要点 此外 我希望每个轮廓都有半透明填充
  • 类别 - 子类别 - 产品选择表单的大多数 djongonic 解决方案?

    假设我们有这三个模型 cagegory id name subcategory id id category name product id id sub category name 共有30个大类 每个大类下有30个小类 每个小类下有50
  • 另一个 FizzBu​​zz 解决方案[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我参加了一次工作面试 被要求用 PHP 解决 FizzBu zz 问题 编写一个程序 打印从 1 到 100 的数字 但是对于 3 的