FizzBuzzWhizz作业

1.问题引入

FizzBuzzWhizz 需求:

when run(3) return 'Fizz'

when run(5) return 'Buzz'

when run(7) return 'Whizz'

when run(3 * 5) return 'FizzBuzz'  //run 的参数为 3和5共同的倍数

when run(3 * 7) return 'FizzWhizz'  //run 的参数为 3和7共同的倍数

when run(5 * 7) return 'BuzzWhizz'  //run 的参数为 5和7共同的倍数

when run(3 * 5 * 7) return 'FizzBuzzWhizz'  //run 的参数为 3、5和7共同的倍数

其余情况:

when run(n) return n  // n 可以为 非 3、5、 7或3、5、7的倍数的数字 如:run(2) return '2'

作业要求:

1.通过document.write()方法,将以上需求的每一条调用结果打印出来,结果会在屏幕右边显示

2.为每一条需求写一个测试

2.转化成自己的语言

传递一个数num,返回一个值

当num=3,输出显示 Fizz

  num=5,输出显示Buzz

  .......

num为几个数的倍数(暂考虑3,5,7)时,输出这几个数单独存在时的输出组合。

如num=3*5;输出FizzBuzz。除此以外,输出输入的数值。

3.思路

      典型的“如果就”事件。在相应的可能情况出现相应的结果。一开始想到if{}else语句,虽然思路简单,但并没有多少简洁之处。会有很多重情况。又看到公倍数的结果是各自倍数的“叠加”,所以想到分开拼接为好。

4.代码

var test=function (num) {

var a=(num%3==0) ? 'Fizz' : ' ';

var b=(num%5==0)? 'Buzz' : ' ';

var c=(num%7==0)? 'Whizz' :' ';

if((a==0)&&(b==0)&&(c==0))

document.write(num);

else

{document.write(a+b+c);}

document.write("
");

}

test(3);

test(5);

test(7);

test(105);

test(3*7);

test(42);

test(11);

5.运行结果


FizzBuzzWhizz作业_第1张图片
运行截图

6.个人感悟

        题目实现的目的很简单。但方法肯定多种多样。自己也试了很多种方法,最后觉得提交的还算简洁。但在如何灵活地用更好的编程思维来快速实现目标,让代码更简洁、高效。还需要不懈的努力。

你可能感兴趣的:(FizzBuzzWhizz作业)