• ベストアンサー

[大至急]5つの数字のパターンは?

1,2,3,4,5 番のスイッチを見立てた数字があり、 これを以下のようなパターンで考えるとどの様な組み合わせ数になるのか? また、それを記述していただいたらうれしいです 1,-,-,-,- 1,2,-,-,- 1,2,3,-,- 1,2,3,4,- 1,2,3,4,5 ※必要ないパターン 2,3,1,4,5 2,-,3,5,- 順番が入れ替わる必要はありません つまり、 1だけがONの時にはこの処理を行う 1と3だけがONの時にはこの処理を行う などの様に、1~5個のスイッチ条件の組み合わせをプログラムで作りたいのです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8523/19372)
回答No.2

5ビットの2進数で考えましょう。 以下の32個の2進数の0と1を、各スイッチのオンオフに対応させましょう。 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111

higozen
質問者

お礼

有難うございます。 Excelにて、置換してこの32個のパターンを活用させていただきます。

その他の回答 (2)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.3

>これをもとに、VBA形式でやってみます。 ビット演算で・・・VBAでならこんなかんじです。 Sub test() Dim inp As String Dim sw As Variant Dim mySw As Variant Dim anSw As Integer Dim msg As String 'ONにするスイッチを設定 inp = InputBox("ONとするスイッチNo1~5の番号をカンマ区切りで入力", "スイッチ設定", "1,3,5") If inp = "" Then Exit Sub sw = Split(inp, ",") For Each mySw In sw   anSw = anSw Or 1 * 2 ^ (CInt(mySw) - 1) Next '処理を記述 If anSw And 1 Then   msg = msg & "1番の処理" & vbCrLf End If If anSw And 2 Then   msg = msg & "2番の処理" & vbCrLf End If If anSw And 4 Then   msg = msg & "3番の処理" & vbCrLf End If If anSw And 8 Then   msg = msg & "4番の処理" & vbCrLf End If If anSw And 16 Then   msg = msg & "5番の処理" & vbCrLf End If '処理結果を表示 MsgBox msg & "以上の処理が実行されました" End Sub

higozen
質問者

お礼

有難うございます。 今回の場合は、スイッチ番号が確定した後に、更にそのスイッチに該当するセルの条件値とあっている場合に処理を行う様にしたかったのです。。。 上記を参考にSelect Case を利用して、32分類して目的を達成する事が出来ました。

  • KEIS050162
  • ベストアンサー率47% (890/1879)
回答No.1

5ビットの整数の値を条件として、条件分を組み立てればよいです。 5ビットの整数: 00000B ~ 11111B の32通りです。(後ろにBがついているのは、二進数の意味です。) 5ビットの整数は下記の様な意味になります。 例えば、 0 (00000B) 全部がOFF 7 (00111B)  3~5番がON 10 (01010B) 2番と4番がON 31 (1111B) 全部がON 全部の組み合わせに対してそれぞれ別の処理が必要なら、0~31に対して、それぞれ処理を割り当てます。 Cの構文のswitch文なら、下記の様な形になります。  unsigned char s;    (s の入力処理)  switch( s & h1f ) {    case 0:       (処理)       break;     case 1:       (処理)       break;     (中略  必要なら0~31まですべてに対してcase文を書く)     default:       break;   } ご参考に。

higozen
質問者

お礼

有難うございます。 これをもとに、VBA形式でやってみます。

関連するQ&A

  • 数字4ケタのパターンをつくりたいのですが・・

    1~9までの数字の中から4つを選んで、4ケタの数をつくります。 <例> 1245、5894、4651、2179、、 かぶらないように100パターン作らなければなりません。 何パターンの4ケタの数がつくれますでしょうか?? 簡単に出せる方法を教えてほしいです。 また、自動的にパターンを出してくれるようなフリーのプログラムやシステムなどを知っている方がいらっしゃいましたら、教えてください。 よろしくお願いします。

  • Excelで、数字の組み合わせの合計が一定数になるパターンの抽出

    Excelで、数字の組み合わせの合計が一定数になるパターンの抽出 たとえば、つぎの配列があるとします。 A(5){10,20,30,40,50}要素数が5つ1..5、{}は内容 このなかで二つ以上の組み合わせで和が60になる組み合わせを出したいとします 答えは パタン1:1,2,3  /* 10+20+30 */ パタン2:1,5 /* 10+50 */ パタン3:2,4 /* 20+40 */ 同じような処理をExcelの関数では実現できますでしょうか? また上記のような組み合わせのパタンの総数を求める公式はありますか? 初歩的な高等数学で恐縮です。

  • 数字5桁と10桁のパターンを作りたいのですが。。

    4月4日に数字4桁のパターンの作り方を質問し、 回答を頂き、4桁は解決しました。 (QNo.2893813 数字4ケタのパターンをつくりたいのですが・・ ) 今度は5桁と10桁のパターンを作りたいです。 (「乱数を作りたい」といった言い方が正しいのかもしれません) ■5桁の数:1~9までの数字の中から作る <例>14762、98426、39175、87214、、 ■10桁の数:1~10の数字から作る <例>1 3 4 8 9 2 5 7 6 10 どちらも、かぶらないように100~200パターンほど作りたいです。 エクセルの関数で出来る様ですが、エクセルはど素人なので、 前回の質問QNo.2893813 の回答no.5のようなプログラム自体をコピー&ペーストしてできるものが嬉しいです。 以下、前回頂いた回答の一部です ※回答いただいた方のお名前と、プログラムはここでは伏せます --------------------------------------------------------------- 作り方 Excelを起動→ツール→マクロ→visiual basic editor Visual Basic で 挿入→標準モジュール 出てきた画面に下のプログラムをコピー、ペースト 使い方 Excelでツール→マクロ→マクロ 『test』を選択して実行作り方 Excelを起動→ツール→マクロ→visiual basic editor Visual Basic で 挿入→標準モジュール 出てきた画面に下のプログラムをコピー、ペースト 質問が2回に分かれる形になってしまい、申し訳ありません。 知っている方いらっしゃいましたら、教えてください。

  • 昇順のみの順列のパターン(?)

    皆様 こん○○わ。 早速ですが、質問させていただきます。 1~10の数字があるとします。 この中から、 1個取り出す組み合わせは当然10パターンですが、 質問させていただくのは2個以上取り出すパターンで、 1つ目の数字より低い数字は選べない場合の組み合わせなのです。 1 3はOKですが、3 1はダメです。 その場合の2個取り出すパターン~9個取り出すパターンの合計を 求めたいのです。 例: 1 2 2 3 5 4 7 9 10 5 6 7 8 9 10 3 5 6 7 8 9 10 ・ ・ などです。 このようなパターンを作成するプログラムを組んだのですが、 答え合わせができず困っております。 もし、お時間ある方いらっしゃったらお答えいただけると 幸いです。 よろしくお願い申し上げます。

  • 文字列のパターン

    異なるアルファベット(又は数字)6文字の組み合わせの全パターンを調べたいのですが便利なソフト、サイトはないでしょうか? パターン数を調べたいのではなく全部の組み合わせが見てみたいのです。よろしくお願いします。

  • 数字の組み合わせ

    1~19までの19個の数字から6個を選ぶ全組み合わせの数はいくつですか。数字の順番は関係ありません。また答えを導く公式を教えてください。

  • 数字の組み合わせについて

    1から6の数字から3つを選び、順番に並べるというやり方で通常だと6*5*4で120通りに なるのはわかるのですが、 例えば2番目の数字を5と6に固定した場合や、 2番目と3番目の数字を4以外にした場合の組み合わせの計算方法がわかりません。 順列の式n(n-1)(n-2)この式でやるとうまくいきません お詳しい方教えてください。できればかなりわかりやすくお願いします><

  • パターン数及びパターンを求めるには・・・

    はじめまして、こんにちは。 エクセルというか、数学的な質問になるかもしれませんが、困っておりまして お知恵をお借りできればと思い質問させていただきました。 問題が 【A】【B】【C】【D】【E】とあり、 それぞれの項目には0~12の数字が入ります。 A+B+C=12 かつ、A+D+E=12 になる条件の時、 そのパターン数、及びそのパターンを表示(一覧として出したい)するには どうしたらいいでしょうか・・・。 (A~Eにはもちろん同じ数字も入ります。) エクセルで挑戦しましたが、行き詰まってしまいました。 数学的な問題かもしれませんが、何かいい方法があれば・・・。 申し訳ありませんが、どうぞよろしくお願いいたします。

  • ロト6で購入パターンを検討したいです。

    ロト6に出会って約1年になります。適当に選んだ数字が大当たりすることはありますよね。少し前まで2000円(10パターン)くらいを上限に購入を続けてきたのですが今のところ4等が最高でその上の当りを引くことができないでいます。 やはり、高額の当りを狙いたいと思ってロト6をやり続けているので、少し購入金額を上げてみようと思いました。そこで考えたのが43個の数字から、6個の数字を適当に選ぶのも一つの方法ではあるとは思いますが、この購入のしかただと生きてるうちに高額の大当たりを望むのは難しいと思いました。 そこで考えてるのが、43個の数字を10個に絞り込んで、その絞り込んだ数字から6個の組合せを作ると210パターンの組み合わせになると思います。この210パターンを全て購入するようにすれば、たまたま選んだ10個の数字の中に偶然でも6個の数字が入っていると当然、一等の当せんを得ることができると思います。もちろん、絞り込んだ10個の数字に偶然6個の数字が入ることすら神がかり的な難易度だとは思いますが、適当に数字を選ぶよりは可能性が高くなるような気がします。 確率論とかで考えると、なんて幼稚な考えのおバカさんだと言われるかもしれませんがあえてこのような質問をさせていただいています。 質問は、 10個の数字から6個の数字を選んだ時に210パターンの組み合わせができると思うのですが、この組み合わせの出し方を教えてほしいです。自分なりに組み合わせを考えたのですが数学の苦手な、ぼくには210パターンの組み合わせを出すことができませんでした。数学の得意な人にはバカみたいな質問かもしれませんが、よろしくお願いします。

  • 決められた数字の組み合わせが逆算出来るソフト

    以前にも同じような内容にて質問をさせて頂きましたが、非常に分り難いものなので、改めてご質問させて頂きます。 ある商品において10種類の物が存在するとします。その10種類の商品は0~9という番号にて識別します。 その10種類の商品をセット販売すると仮定します。 S,M,Lの3種類のセットを作成する上で、組み合わせる商品が決まっています。 商品名を0~9という数字で割り当てます。 各商品の在庫数は50個ずつ。なので、10*50=500個の商品があります。 その中で組み合わせ方法として各3パターンの以下のような9パターンの組み合わせより作成をします。 Sセット 【25457】、【36568】、【37679】 Mセット 【14347】、【25458】、【26568】 Lセット  【03236】、【14347】、【04347】 この組み合わせの中で4番や5番などのよく使う商品があります。 なので、500個の商品を100セットにして使い切ることは不可能かと思います。 出来る限り、Sセット、Mセット、Lセットの数を同じくらいに作成したいのですが、どのような組み合わせを選択することにより500個の商品を無駄なく使うことが出来るでしょうか? そんな、組み合わせを1セットでも多く自動的に識別する事の出来るソフトやサイトなどを探しています。