• 締切済み

すみません!いそいでます!お願いします!!!

麻野 なぎ(@AsanoNagi)の回答

回答No.5

先のソースで、再帰呼び出しによる組み合わせのは、本質的に足し算だけで構成しているので、計算途中の(普通の式なら階乗計算で)オーバーフローを防止できます。 ただし、呼び出しが深くなって(オーバーフローより先に)スタックがあふれるんじゃないかという問題もありますが。 そこで、組み合わせのほうは、こういうソースも有効です。 このソースの特徴は、 result *= n; result /= i; を連続で実行することで(ついでに、n も小さい方からかけることで)途中の計算におけるオーバーフローをなるべく避けるというものです。 このソースで、「/= i が割り切れないときに誤差が出るのではないか?」という気もしますが、この場合、全ステップで必ず割り切れることも証明可能です。 ※連続する n個の整数の積は必ずnの倍数になることをいえばいい。 ※いいかえると、連続するn個の整数の中には、必ずnの倍数があることをいえばいい。 int c(int n, int r) { int result = 1; int i; n -= r; for(i = 1; i <= r; i++, n++) { result *= n; result /= i; } return n; }

関連するQ&A

  • 順列 二つを基準にしての組み合わせ

    1から18までの数字があり そこから基準となる任意の数字を2つ抜きます。  →例 2と3 そしてさらに4つ(いくつでもいいですが)取り →例 10 11 12 13 最初の2つを基準にして4つと組み合わせたら 何通りになりますか? (1) 2-10-11 も 11-2-10も同じとみなす 方法と (2) 2-10-11 と 11-2-10は違うものとみなす 方法の 二通りの式を教えてください。 nPr  や nCr=nPr といった式はひとつを基準にして       r! (今回の場合だったら2のみか3のみかを)考えるもですよね?

  • 確率の公式

    確率の公式nCrがどう使うのか、あまりわかりません。 nPrならわかりましたが、nCrがわかりません。 誰か、どう使うのか教えてください。

  • 順列と組み合わせ

    数Aの範囲の『順列と組合せ』についてわからないところがあるんですす。それは順列と組合せ『nPr』と『nCr』の使い分け方です。どういった文章題の場合が『nPr』でどういった場合が『nCr』なんですか??見分け方を教えてください!!明日小テストがあるんです!!ヨロシクお願いします。。

  • 順列、組合せの記号の読み方。

    nPr、nCr、nΠrやnHrの正しい読み方は何でしょう?? Pはパーミテーション、Cはコンビネーションは分かるのですが 式にした時になんと読むのでしょう? 定まった言い方はないのですか?? 数学でそんな適当なことがあるとは思えないんですが…… また、Π、Hに関してはなにの頭文字かさえ分かりません。 数学が発達してきたのは日本ではないので、英語ではどう読むのでしょう? 1+1=2は「1プラス1イコール2」と読みますよね、そのように英語では読めませんか? それぞれ4つの読み方、定まったものがなければ最もオーソドックスな読み方はなんでしょうか(特にΠ、H)??

  • 磯釣りが一番釣れる?

    やっぱ磯釣りが一番つれるのでしょうか? 磯釣りについて詳しくしりたいです。よろしくお願いします。磯釣りの魅力など。

  • Hってなんだろう!?

    組み合わせ nCr のCはCombination, 並べ方 nPr のPはPermutation, ここまでは教科書に記載されてるのですが、重複順列の nHr のHはなんと言う英語の頭文字でしょうか???

  • 磯釣りで有名なところ

    現在、長崎北部の九十九島で磯釣りを楽しんでいます。 磯釣りは堤防や船と違いじっくり自分と向き合える点がいいですね。 ここでお聞きします。 全国で磯釣りで有名なところをお教え下さいませ。

  • 磯釣りとは

    磯釣りってつれるのでしょうか? 磯釣りの特徴を教えてください。 よろしくお願いいたします。

  • 数A;場合の数(nPrとnCrの違いについて)

    男子10人、女子5人の中から合計三人の代表を選ぶ方法は何通りか。 この問題ですが、答えでは15C3なんですが、15P3ではなんでダメなんでしょうか? まずnCrとnPrの違いが自分にはよくわかりません。 Cの方は「異なるn個の物からr個取り出して並べる」 Pの方は「異なるn個の物からr個取り出して、一列にならべる」 一列という点で違うだけなんでしょうか? Cの方は「自動的に並べる」みたいな意味も含まれているみたいですが、ただそれだけでじゃぁこの問題では一体なんでnPrの方で解いてはいけないのでしょうか? 詳しくお願いします。

  • 磯で見つけたこれはなんですか。

    磯で見つけたこれはなんですか。 水中に沈んでいたのけれど、 足がついていたのでフナムシみたいなのですが、 フナムシは水中にとどまっていられないと聞きました。 一体なんなのでしょうか。