• ベストアンサー

組み合わせを選ぶためのプログラミングについて

KojiSの回答

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.2

解法は、まず手動で解く時にどうするか、ということから入ります。一番簡単に思いつくのは総当たりですね。それをプログラムしてみましょう。 仕事に使うのですから、こういうところで質問する前に、いろいろ調べ考えましょう。アルゴリズム辞典のたぐいの本にはあるかもしれません。また、数学的な解法もあるかもしれません。 まずは本屋で探すのが良いかもしれません。 蛇足:できている物を無償でもらおうという考えはやめましょう。

tokyotomin
質問者

お礼

早速のご回答有り難うございます。回答中のご指摘は、ある面では、もっともだと思います。私の質問中にご指摘のとおり適切ではない考え方もあったと思い、今後記載に当たっては、熟考するようにしたいと思います。 ただ、全くわからないものが物事を調べる場合、この場は、良い取っ掛かりを探す場だとは思うのですよ。 本で調べるのであろうと知人に聞くのであろうと教えてgooであろうとネットサーフィンであろうと、取っ掛かりを探すという作業には大差はないと思うからです。 その根拠としては、現にご回答により、アルゴリズムという単語そのものがわからないとの状況が若干打破できたと言えるからです。 その点において、今回及び前回のご回答には大変感謝しております。 どうも有り難うございました。

関連するQ&A

  • 複数の数字の組み合わせの中から合計がAになる組み合わせを探す方法

    例えば、1~10の数字があって、その中から合計が10になる組み合わせを探す、という計算式はExcelで作成することはできますか?(答えは[1+2+3+4][1+2+7][1+3+6][1+4+5][1+9][2+3+5][2+8][3+7][4+6]の9通り) もしくは、複数の組み合わせで計算させて、合計が10になったものを検索するという計算式は可能でしょうか? よろしくお願いします。

  • EXCELで組合せのやり方を教えてください。

    EXCELで組合せのやり方を教えてください。 こんにちは!質問をお願いします。 (1) 複数ある数字からいくつか足してわかっている数字(A)と同じにする (2) それから(A)になるのに使った数字がどれか という計算をEXCELで計算方法を知りたいです。 例えば 複数ある数字(X) :24 50 77 458 550 140 わかってる数字(A):267       ↓ 267(A)になるのには(X)の中のどの数字を足せば良いか? ここでは 50 77 140がエクセルの答えとして出てきてほしい という感じです。 ただ、マクロは組めないのでできればシンプルなものでお願いします。

  • 組合せ 

    1から i番目まで、数字がランダムに並んでいます。(マイナス数値からプラス数値まで)。 これらの数値の組合せで、組合せの合計値が、ある目標値になる組合せのすべてを発見して、その組合せを1からiの番号で表示したいのです。 目標値は一個だけ定めます。 どのような論理を組めば可能でしょうか。(この論理をエクセルソフトに組み込み計算します)。

  • エクセルで組み合わせ計算

    質問があります。エクセル使えば計算とか、いろいろ覚えれば簡単に出来ると言われ前に組み合わせ計算教わった記憶が、あるんですが忘れてしまったので分かる方教えて下さい。 質問内容は、 数字で1・2・3・4・5・6・7があります。 7個の数字を3個ずつ組み合わせしたいんです。 (1・2・3)(1・2・4)(1・2・5)このような感じ何ですが 同じ数字がダブらない様にしたいんです。途中で(2・3・1)があると先に書いた(1・2・3)があるので×何ですが全部で35通りの組み合わせになると思うんですが、この様な計算も1欄で組み合わせ表示が出来るんでしょうか? また、この程度のエクセルレベルは初級位でしょうか? 宜しくお願いします。

  • 指定した数字が含まれる組合せを抽出する。

    どなたかご存じでしたら回答をお願いします。 数字選択式宝くじの「ミニロト」の組合せをフリーソフトで作成&CSVデータに出力しています。 これをエクセルに取りこむと下記のようになります。 【作成されてエクセルに取りこんだCSVデータ】 01 04 06 07 22 01 06 07 13 22 01 06 07 22 27 03 04 11 13 29 04 13 15 18 27 ここから、「指定した数字の○ or ○ or ○ or ○ or ○が含まれる組合せを抽出する。」 というのをエクセルでやりたいですがどうやればよいでしょうか? できれば1回の操作で結果が出るのがよいです。 上記例でいうと、「指定した数字の4 or 13 が含まれる組合せを抽出する。」と指定すれば 下記抽出結果が得られる。 【抽出結果】 01 04 06 07 22 01 06 07 13 22 03 04 11 13 29 04 13 15 18 27 CSVデータは1個~169911個まであります。 指定された数字が第1数字~第5数字のいずれかに入っていれば抽出対象です。 指定する数字は1個~5個です。 エクセルの操作およびVBAでのソースを教えて下さい。 よろしくお願いします。

  • 組み合わせの表を作成したいのですが・・・

    画像のように9×3の組み合わせをEXCELの表で作成したいと思っています。 組み合わせの数は、3^9通り、即ち19,683通りあります。 途中までは作成したのですが、合っているのか合っていないのか分かりません。 もっと簡単に組み合わせの表が出来ないか、考えています。 エクセルの関数若しくはVBAで計算できる方法があれば教えて頂けると幸いです。 どうかよろしくお願いいたします。

  • エクセルでの組み合わせ出力方法(計算含む)

    エクセルの初心者です。 エクセルで作成した数字の表を利用して、その表の中の任意の数字の組み合わせの合計が、ある数字ぴったりの組み合わせを探し出すにはどうすればいいでしょうか?表の数字は50くらいあります。

  • 数字の組み合わせを教えて!

    7つの数字から4つの数字の組み合わせがいくつ出来ますか?(1,2,3,4)と(4,3,2,1)は使われている数字が同じなので1つと数えます。実際に書き出して、同じ組み合わせを探して消していくと凄い時間が掛かるので計算方法を知っている方教えて下さい! ◎7つの数字から4つの数字の組み合わせがいくつ出来ますか? ◎8つの数字から4つの数字の組み合わせがいくつ出来ますか? ◎9つの数字から4つの数字の組み合わせがいくつ出来ますか? ◎10この数字から4つの数字の組み合わせがいくつ出来ますか?

  • 組み合わせを実際に作成したい

    8人を4人づつのA・B2組に振り分ける組み合わせは 70通りと計算では出たのですが、実際に組み合わせを 作成すると70通り出来ません。 エクセルで関数を使って実際の組み合わせを作成することは出来るのでしょうか。 もし、出来るのならば、やり方も教えていただければと思います。 宜しくお願いします。

  • 上限のある重複組合わせ(?)

    以下の42個の数字から、n個 抜き取った組合わせは何通りかという問題がありまして(自作)。 1, 5, 6, 6, 8, 8,10,13,13,14, 14,15,17,18,18,19,21,21,22,25, 26,27,28,28,30,30,30,30,30,31, 31,34,35,35,36,39,40,40,41,41, 41,42 総当りで出力し、カウントをするプログラムはできまして(n=0個から) 1 26 337 2902 18667 95612 405931 1468386 4616880 12809820 31736232 70875642 143789049 ・・・ という感じで答えはわかっているのですが、時間もかかるし(3sぐらい)実際の組合わせは知る必要はないので もっと数学的に計算でできないのか、考えているんですけど解りません。 問題を簡単にして、↓のように考えたのですが、やっぱり無駄に計算量が多いような気がします。 1,1,1,1,2,2,2,3,3,4 の10個の内 7個 4種類の数字の重複組合わせをベースとし 4 H 7 -> 4+7-1 C 7 -> 10 C 7 -> 120 ・4 は、1つしかないので、2つ以上を含むパターンを除外する 4-4 確定 あと 5つを 4 H 5 -> 56 ・3 は、2つしかないので、3つ以上含むパターンを除外する。 3-3-3 確定 あと4つを 4 H 4 -> 35 ・2 は、 3つしかないので、4つ以上含むパターンを除外する。 2-2-2-2 確定 あと3つを 4 H 3 -> 20 ・1 は、 4つしかないので、5つ以上含むパターンを除外する。 1-1-1-1-1 確定 あと2つを 4 H 2 -> 10 120-56-35-20-10 = -1 ただし、以下は重複しているので加算する。 4-4-3-3-3-*-* 10 4-4-2-2-2-2-* 4 3-3-3-2-2-2-2 1 4-4-1-1-1-1-1 1 -1 +10+4+1+1 -> 15 プログラムはすこしわかるのですが、数学はわかりません。 すぱっと数式ででるやりかたがあれば教えてください。