質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

4189閲覧

javascript 階乗の求め方

homel15k

総合スコア19

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/02/13 14:53

こんばんは。プログラミング初心者のものです。
jsで階乗を実装したくて、答えはわかったのですが、

Javascript

1function fact (k) { 2 if(k != 0) { 3 return k*fact(k-1); 4 }else{ 5 return 1; 6 } 7} 8console.log(fact(5))

なんでこれで階乗が求められるのか、いまいちピンときません。
return k*fact(k-1);の部分がよくわからないです。
詳しく教えていただけないでしょうか。よろしくお願いします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

return k*fact(k-1);
kに適当な数字を当てはめて考えてみればイメージできるのではないでしょうか。
k=10なら、9!に10を掛けよです。
この時9!の計算の為にfact()が呼びだされ、そのなかで、8!に9を掛けよとなり、…後はくりかえしです。

詳しくは"関数の再帰呼びだし"を調べてみましょう。

投稿2018/02/13 15:03

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

homel15k

2018/02/13 15:10

回答ありがとうございます。関数の再帰呼び出しで検索したらなんとなくわかりました。
guest

0

投稿2018/02/13 15:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/14 02:39

これ、何のマイナスか分かる人、コメントもらえますか? スマホで見れないのかとも思ったんですが、見れたんで。。。
miyabi-sun

2018/02/14 03:11

良い回答のアドバイスにリンクだけではなく、 引用文章に貴方自身のアドバイスの文言を添えてくださいみたいなガイドラインがありますね。 多分それに引っかかってるのかと…ただまぁ、マイナス食らう程ではなさそうなので打ち消し+評価入れておきました
退会済みユーザー

退会済みユーザー

2018/02/14 03:31

ちょっと書き方、ミスったw 評価がどうとかじゃなくて、再帰処理の説明用によく使うサイトなんで、なんか問題があったのか確認したいなぁってことでした。 ガイドライン違反解釈に対してのマイナス評価であれば、まぁ、あんまり気にならんです。 コメントありがとうございました!
KojiDoi

2018/02/14 03:35

私もマイナスを入れるほどではないとは思います。ただ、お示しのページは相当「不愛想」ですよね。あるていどプログラミングの素養ができている人ならともかく、本件のように基本的なコード例を見て再帰が理解できないといっているレベルの人が当該ページを見て「なるほど」と膝をうつ可能性は相当低いんじゃないでしょうか。回答が100点満点の完璧なものであるべきとは全く思いません(だからマイナスはやりすぎ)が、もう一声なにかあれば良かったとも思いました。
退会済みユーザー

退会済みユーザー

2018/02/14 04:06

コメントありがとうございます。 miyabi-sun さんへのコメントでも書きましたが、リンク先サイトに対しての低評価でなければ、あんまり気にしてないです。 で、コメントいただいたように、確かに「無愛想」ではありますねw 私にとって、再帰処理を理解させた画期的サイトだったので、威力を過信して紹介してしまっていたかもしれないです。お手軽に、再帰の視覚化を紹介できるんで、便利なんですけどねぇ。使い所を気をつけます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問