JavaScript
针对那道题,我是这么想的:
先判断是否为3 and 5 and 7的公倍数,若不是接着判断,为3 and 5、3 and 7、5 and 7的公倍数,若不是则接着判断是否为3、5、7的倍数······
代码:
function run(num){
if(num%3==0 && num%==0 && num%7==0)
return 'FizzBuzzWhizz';
else if(num%3==0 && num%5==0)
return 'FizzBuzz';
else if(num%5==0 && num%7==0)
return 'BuzzWhizz';
else if(num%3==0 && num%7==0)
return 'FizzWhizz';
else if(num%3==0)
return 'Fizz';
else if(num%5==0)
return 'Buzz';
else if(num%7==0)
return 'Whizz';
else
return num.toString();
}
测试Test:
var test1 = function() {
let result = run(2);
if(result != 2) {
document.write('The test 1 failed')}
else {
document.write('The test 1 result is : '+ result)}}
test1()
var test2 = function() {
let result = run(3);
if(result != 'Fizz') {
document.write('The test 2 failed')}
else {
document.write('The test 2 result is : '+ result)}}
test2()
var test3 = function() {
let result = run(5);
if(result != 'Buzz') {
document.write('The test 3 failed')}
else {
document.write('The test 3 result is : '+ result)}}
test3()
var test4 = function() {
let result = run(7);
if(result != 'Whizz') {
document.write('The test 4 failed')}
else {
document.write('The test 4 result is : '+ result)}}
test4()
var test5 = function() {
let result = run(15);
if(result != 'FizzBuzz') {
document.write('The test 5 failed')}
else {
document.write('The test 5 result is : '+ result)}}
test5()
var test6 = function() {
let result = run(21);
if(result != 'FizzWhizz') {
document.write('The test 6 failed')}
else {
document.write('The test 6 result is : '+ result)}}
test6()
var test7 = function() {
let result = run(35);
if(result != 'BuzzWhizz') {
document.write('The test 7 failed')}
else {
document.write('The test 7 result is : '+ result)}}
test7()
var test8 = function() {
let result = run(105);
if(result != 'FizzBuzzWhizz') {
document.write('The test 8 failed')}
else {
document.write('The test8 result is : '+ result)}}
test8()