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.为每一条需求写一个测试,测试例子请见实例方法 test1

分析:

  • 输入一个数,判断其能否被3、5、7整除
  • 能被整除则输出其对应关键字 Fizz、Buzz、Whizz;
  • 关键字按3、5、7顺序排列,无分隔符

算法:

  • 定义一个字符串str存储输出结果,将其初始化为空;
  • 依次判断该数是否能被3、5、7整除,若能则用字符串str加上对应的Fizz、Buzz、Whizz;
  • 判断str是否为空,是则输出数本身,否则输出字符串str。

代码:

function run(num) {
  var str = '';
  if(num%3 == 0)    str = str+'Fizz';
  if(num%5 == 0)    str = str+'Buzz';
  if(num%7 == 0)    str = str+'Whizz';
  if(str == '')  return num;
  else return str;
}
function test(num){ 
  document.write(run(num) + '
'); } test(3); test(5); test(7); test(3*5); test(3*7); test(5*7); test(3*5*7); test(2);

测试结果:

FizzBuzzWhizz_第1张图片
新建图像.png

你可能感兴趣的:(FizzBuzzWhizz)