第2希望への落選時の定員計算

このQ&Aのポイント
  • 第1希望が落選した場合、第2希望への定員計算が難しい状況です。
  • 過去の定員計算方法では、第1希望と第2希望の応募者数を合計して判断していました。
  • しかし、新しいルールではセット応募の制限がなくなり、計算が複雑化しています。 数学的な計算方法が必要ですが、具体的な解決策はわかりません。
回答を見る
  • ベストアンサー

第1希望が落選したら第2希望へ 定員に満たすかの計算

8つの講座があります。 ABCDの講座が2つずつあって、A-1 A-2 B-1 B-2 C-1 C-2 D-1 D-2 定員は20人。 応募は、第1と第2希望を書くことができますが、第1希望がAだった場合、第2希望もA講座。つまり、セット応募しかできません。第1はAで第2はBと、セット外の応募することが禁止でした。 今までは、 私は、A1の第1希望が10人で定員に満たなくても、第2希望の応募者が8人だから合計18人で、まぁまぁ定員かな?と思ってました。 しかし‥‥今回から、応募が、第1希望がA-1で第2希望がC-1と、セット応募の決まりがなくなってしまいました。 となると、A1の第1希望が10人でも‥‥第2が8人なら‥‥という考えが通らなくなりました。 A-1の第1希望が10人の応募で、第2希望が8人だったとしても、第2希望のA-1の応募者が、実は第1希望にC-1を応募してきた場合、C-1が定員数だった場合は、そのA-1の第2希望の8人は、第1希望のC-1に収まってしまい、A-1には流れてきません。 Accessで、式を作りなおそうと思ったのですが、それ以前に、計算や公式が全く思いつきません。 サイコロの確立計算のような感じなのでしょうか? 数学が苦手でして、足し算引き算では‥‥因数分解? 何がどうなっているのかわかりません。

noname#248169
noname#248169

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

  • ベストアンサー
noname#259269
noname#259269
回答No.1

以下の記載に全く関係ないので、あくまで参考としてご質問なのですが、第二希望は省略してもよいのでしょうか? さて、計算や公式は関係ないと思います。処理手順を考えましょう。 例えば以下のような感じでしょうか(この業務に適合するかどうかは判断してください。あくまで例です)。 1.全応募者の第一希望を元に、各講座への割り当てを行う。  ・定員オーバーが全く発生しなければ、全て定員内→処理終わり  ・この状態で既に定員があふれる講座に対して   プログラムで抽選を行い(※1)、あふれる人を特定 2.各講座の残枠を元に、第一希望にあふれた人の第二希望を使って、  割り当てを行う。  ・定員オーバーが全く発生しなければ、全て定員内→処理終わり  ・この状態で既に定員があふれる講座に対して   プログラムで抽選を行い(※1)、あふれる人を特定   →第一希望も第二希望も通らなかった人が発生したという事    なので本人への通知等の措置を行う (※1)ここは応募順などルール付けの余地有り 第一希望も第二希望も通らない人を出してはいけないという規則があるなら、その点も考慮したプログラムにする必要があるでしょう。

noname#248169
質問者

お礼

処理手順を見直したら、どのように割り当てるかを、考え出す事が出来ました。 そしたら‥‥おのずと、どうACCESSに組み込んだら良いかも見えてきて‥‥無事、成功しました。 ありがとうございました。

関連するQ&A

  • 計算の順序 a×b÷c

    小学生の算数で, たし算,ひき算は,かけ算,わり算より先 たし算と,ひき算が,又は,かけ算,わり算が, 複数ある時は,普通,左からと習います。 しかし, たし算だけ, かけ算だけなら,どこからでも計算できます。 a×b÷c は,b÷cを先に計算することは,できますか? いくつか,問題を作って解いてみましたが, a×bを先に計算した時と,答えが同じになりました。 よろしくお願いします。

  • Javascriptで、以下の様な足し算をする場合、

    Javascriptで、以下の様な足し算をする場合、 aからdのいずれかが空白の時には計算結果が表示されません。 いずれかが空欄の場合はその値をゼロとみなして計算結果を 表示したいのですが、記述方をご教授頂けないでしょうか。 用いる演算は、足し算と引き算のみを想定しています。 基本的な内容かとは思いますが、宜しくお願いします。 <script> var a = 1; var b = 3; var c = 5; var d = 7; document.write(a+b+c+d); </script>

  • 1回で全部引き算

    A 345 456 B 345 678 C 987 678 D 432 987 ↑ このような状態のときにA 345-456.B 345-678というように関数を使ってABCDを1回で引き算できる方法があれば教えて下さい。 足し算の方法はわかるのですが引き算の方法がわかりません よろしくお願いします。

  • 引き算するとき、以下のどのやり方で計算するのが早いですか?

    暗算で計算する場合です。例題は54-28です。 A 筆算で計算するときのように 14-8=6 4-2=2 26 (4-2が先でもいいです) B 54を14と40に分けて考え 14-8=6 40-20=20 20+6=26とする C 50-28=22 50は54より4小さいから、4を足して 22+4=26とする D 一の位の数をなくす 54-24=30 これから、さらに4を引いて 30-4=26 とする E 34-28 =26 F 54-30を計算して2足す これぐらいしか思い付かないのですが、3桁のくり下がり引き算などにも応用する場合も考えて、どれが効率が良いのでしょうか?

  • 計算式

    計算式を日本語で表す場合、例えば足し算なら1と1は、2という具合に表されると思いますが、その他、引き算、かけ算、割り算などの表し方がわかりません。 どなたか教えていただければ助かります。よろしくお願いします。

  • エクセルの関数

    エクセル2000で足し算の合計はSUM関数ですが、引き算の合計の関数や、掛け算の合計の関数はないですか?例えば、「=A1-B1-C1-D1」「=A1*B1*C1*D1」などです。教えてください。

  • Excelの表計算

    基本的な質問なんですが、Excelでの表計算はどのようにしたらいいんでしょうか?主に足し引き算を使用したいんですが、本を見てしたんですが、表計算されません。はじめに設定などあるんでしょうか? 例えばA1~A10のセルを足し算したいときは、=A1+A10でエンターを押せばいいと本には書いてあるんですが、足し算されません。 初心者なので、詳しく教えていただきたいです。よろしくお願いします。

  • 行列式の計算問題

    行列式に関する下記の二つの問題はそれぞれ独立した問題です。 問1 |a b c d|^2 |-b a -d c| |-c d a -b| |-d -c b a| の値をできるだけ因数分解した形で求めよ。 問2 |a^2+1 ab ac ad| |ba b^2+1 bc bd| |ca cb c^2+1 cd| |da db dc d^2+1|の値を計算せよ。 ご回答をよろしくお願いします。

  • 文字列の金額計算

    文字列で金額計算するにはどうしたらいいですか? CString a="11111111111111111111"; CString b="11111111111111111111"; 足し算 引き算 掛け算 割り算 下記をキーに検索してみましたがいまいち コードにするとどう組むか? printfできないよなーーーー という疑問が残ったままになりました。 多倍長、演算 C++ そもそも桁数に関係なく計算ってできるものなのでしょうか? 整数にするもの4byteの限界ありますよね。8byteでも同様。

  • エクセル2007の計算について

    エクセル2007の計算についてですが、A列に100個データがあり、B列とC列にそれぞれ1個データがあるとします。そこで、D列のD1にA1*B1-C1の計算結果を表示させました。次に、D2以下も同様の計算をするために、D1のセルを選択して、矢印無しの十字キーを下に伸ばしてD2にA2*B1-C1、D3にA3*B1-C1・・・、D100にA100*B1-C1の結果を表示させようとすると、100個分の計算結果は表示できるのですが、D2はA2*B2-C2、D3はA3*B3-C3・・・というように、B列とC列も一つずつ下がって計算されてしまいます。この場合、B列とC列には1個しかデータがない(B1に一個、C1に一個)ため、D2以下の計算結果は0になります。B列とC列を下げずに、A列のデータだけ下げて連続計算するにはどうすればよろしいでしょうか。