掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
再帰について 漸化式 (ID:104177)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ううー、ごめんなさい、再起とかはよくわかりませんっ(^^ゞ ただ、関数を日本語になおせば…。少しはお役に立てる…かも。 まず、nとrですけど、Longとかの数値型ですね、 Variant型では、多分計算がとくに遅いと思うので…。 あと、もどりちも。 ええと、つづきですけど、 if r=0 or r=n then 'もし、rとnが0だったら ncr=1'もどりちはⅠ else'そうでなかったら ncr=ncr(n-1,r)+ncr(1-1,r-1)'もどりちはn-1Crと、0Cr-1をたした答え end if ん…?ncrの答えに、またncrで計算してだいじょうぶなんでしょうか? 2,3回のループのあと"スタックが不足しています"のエラーのあと、強制終了しそうな気がします。 それと、0Cr-1はrがいくらであってもおかしな計算になるような…。 え、たしか実際には、nをr回1ずつ引きながらかけていって、 rもr回1ずつ引きながらかけていって、ふたつを割るんですよね?たしか。 (知ってそうたっていないというのに、なんと恥ずかしい…(--;) なら '変数は全てLong型 for i = n to n - r ans = ans * i next for i = r to r - r ansB = ansB * i next nCr = ans / ansB (実際やってみないとちょっとわからないです^^;) こんな風なほうが確実だと思うんですけど…。 (再帰の意味がよくわかっていないので、もしそうじゃないというのならごめんなさい ただ、関数の中で同じ関数を呼び出すのは、 確実に同じルートをとおることがないという確信がない限り、できないです)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.