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で割り切れるかどうかを判断します.できれば具体的に検討します.もしできないなら、直接に入力した数字を出力します.
    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
    体験をまとめる
  • はプログラムを開始する前に何を入力するかを考えて、どのような結果を達成しますか?
  • 出力文字列の法則を観察してどうすればいいですか?
  • 簡単な考え方があったら、もう少し最適化してもいいですか?それとももっと簡単な方法がありますか?