• 每周一题:Fizz Buzz(更新JS)


    题目:

    写一个程序,输出从 1 到 n 数字的字符串表示。

    1. 如果 n 是3的倍数,输出“Fizz”;

    2. 如果 n 是5的倍数,输出“Buzz”;

    3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。

    示例:

    n = 15,

    返回:
    ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]

    通过率:

    代码:

    var fizzBuzz = function(n) {
        let arr=[];
        for(let i=1;i<n+1;i++){
            if(i%3==0&&i%5==0){
                arr.push('FizzBuzz');
            }
            else if(i%3==0){
                arr.push('Fizz');
            }
            else if(i%5==0){
                arr.push('Buzz')
            }
            else{
                arr.push(i.toString());
            }
        }
        return arr;
    };

    思路:

    首先这道题目,我们只需要知道一个数字是不是3或者5的倍数即可,它只有四种可能,3的倍数,5的倍数,3和5共同的倍数,和不是3和5的倍数。所以我们可以在循环中写一个if else语句来分情况输出。在开头我们需要建立一个空数组,到时候将每一个数字的判定结果输入到数组内保存,等循环结束后就可以通过这个数组进行输出。

    第二步是写循环体,题 目中要求的数字范围是在1~n之间,所以我们循环的条件应该与n有关,注意在这里,设置变量初始值应为1而不是0,范围应该在[1,n+1]之间,所以当变量值达到n+1时就可结束循环了,而不会再进行一个轮回。接着我们在循环里写条件语句,原先设定的条件是判断变量除以3或者5所得到的结果是否为整数,但后来我发现这样设置判断条件会导致运算量过大,于是将其转换成了变量除以3或5后判断余数是否为0,再根据其所对应的结果,如Buzz,Fizz,FizzBuzz等分割情况,最后用push()方法将结果加入最开始建立好的空数组中。注意,当这个数不是3也不是5的倍数时,直接输出这个数字push到数组中去。

    最后循环结束,输出空数组即可。

  • 相关阅读:
    仿酷狗音乐播放器开发日志二十七 用ole为窗体增加文件拖动功能(附源码)
    redis持久化和主从同步
    MySQL主从复制
    Nginx 安装与详解
    ContOS安装配置MySQL,redis
    ContOS7编译安装python3,配置虚拟环境
    ContOS7切换国内源
    ContOS 常用命令
    轮询、长轮询、websock
    flask之三方组件
  • 原文地址:https://www.cnblogs.com/sayg-1207/p/13140838.html
Copyright © 2020-2023  润新知