Javascript作業(FizBuzWhizz)
2190 ワード
FizBuzzWhizz需要: when run(3)return'Fizz' when run(5)return'Buzz' when run(7)return'Whizz' when run(3*5)return'FizBuzz'/runのパラメータは3と5の共通の倍数 です. when run(3*7)return'FizWhizz'/runのパラメータは3と7の共通の倍数 です. when run(5*7)return'BuzWhizz'/runのパラメータは5と7の共通の倍数 です. when run(3*5*7)return'FizBuzWhizz'/runのパラメータは3、5、7の共通の倍数 です.その他の場合:when run(n)return n/nは、非3、5、7または3、5、7の倍数の数字であってもよい.例えば、run(2)return'2' 要求によって二つの状況に分けることができます.は3、5、7の倍数ではなく、入力された値を返します. は3、5、7の倍数であり、要求に応じて文字列(Fizz、Buzz、Whizz、FizBuzz、FizzWhizz、BuzWhizz、FizBuzzzzzzzzzzz) を返します.
この二つの状況によって、テスト手順を書いて、3、5、7で割り切れるかどうかを判断します.できれば具体的に検討します.もしできないなら、直接に入力した数字を出力します.
コード
体験をまとめるはプログラムを開始する前に何を入力するかを考えて、どのような結果を達成しますか? 出力文字列の法則を観察してどうすればいいですか? 簡単な考え方があったら、もう少し最適化してもいいですか?それとももっと簡単な方法がありますか?
この二つの状況によって、テスト手順を書いて、3、5、7で割り切れるかどうかを判断します.できれば具体的に検討します.もしできないなら、直接に入力した数字を出力します.
function test(Num){
if(Num%3==0||Num%5==0||Num%7==0){
let result=run(Num); // run()
document.write(''+result)
}
else{
document.write(''+Num)
}
}
numはどの数で割り切れるかを具体的に議論します.さまざまな状況を考慮すると、3,5,7が整除され、対応する文字列が追加されてもよく、その中の1つによって整除されてはいけない、すなわち加算されない、しかも3,5から7までの順序である.ですから、三つの異なる状況を討論すればいいです.まず文字列変数を定義します.var n='';
numが3で割り切れるとしたら、if(num%3==0){
n+="Fizz" //n=n.concat("Fizz"),,+= concat
}
同じnumは5、7で割り切れる. if(num%5==0){
n+="Buzz";
//n=n.concat("Buzz")
}
if(num%7==0){
//n=n.concat("Whizz")
n+="Whizz";
}
最後に文字列nを返します.コード
function run(num){
var n="";
if(num%3==0){
n+="Fizz";
}
if(num%5==0){
n+="Buzz";
}
if(num%7==0){
n+="Whizz";
}
return n.toString();
}
function test(Num){
if(Num%3==0||Num%5==0||Num%7==0){
let result=run(Num);
document.write(''+result)
}
else{
document.write(''+Num)
}
}
test(2)
test(3)
test(5)
test(7)
test(15)
test(21)
test(35)
test(105)
テスト結果2 FizzBuzz Whizz FizBuzz FizzzzzzzzzzzzzzBuzz体験をまとめる