2017-01-31 4 views
-5

こんにちは、JavaScriptを習得しようとしています。 whileループを使用して階乗関数を作成する私の構文の問題に対する助けには大いに感謝します。whileループがjavascriptにある

function fac(num){ 
var a = 0; 
var result=0; 
var added=0; 
while(num!==0) 
{ 
    result = num*(num-1); 
    added = added+a; 
    num--; 
} 
return added; 
} 
+1

何が質問ですか? – JJJ

+0

コードを実行しようとしていますが、正しい戻り値を計算する代わりに0が返されます。例えば、 。 fac(3)は6を返します。 fac(4)は24などを返す必要があります。 – coding95

+0

'added = added + a'は' a'の値を決して変更しないので、何もしません。 – JJJ

答えて

-1

追加済み= 0 + 0;

完全な機能は、次のように記述できます。

function factorial(number) { 
    var result = 1; 

    while(number > 1) { 
    result *= number; 
    number--; 
    } 
    return result; 
} 

これはトリックを行う必要があります。それを実際に見るためにCodepenを追加しました:http://codepen.io/stefferd/pen/EZQEOv

+1

これはどのように階乗ですか? –

+0

ご迷惑をおかけします。それを階乗的にするために編集しました。 –

+1

それは動作しますが、必要以上に面倒です。 'var result = 1'で始めると、条件全体を' result * = number; 'に置き換えることができます。 – JJJ

関連する問題