- 1 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:54:29.703 ID:dhboYsf00
- 0~99の乱数で判定して
int aに1~5を入れたい
1の確率を最も高くして、順に5の確率を最も低くしたい
どうする?
- 2 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:55:36.266 ID:h2uoqnvV0
- 仕様がプログラム寄り過ぎる
分かりやすく説明して - 4 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:56:32.045 ID:dhboYsf00
- >>2
レア度1~5で5の確率を最も低くしたい - 3 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:55:40.774 ID:El0qls1ip
- 出た数値に係数をかけて特定の値に達した時点で変数に格納する
- 5 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:56:56.666 ID:dhboYsf00
- >>3
その計算式は? - 7 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:58:23.977 ID:El0qls1ip
- >>5
式書くなら仕様いるわ - 8 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:59:09.527 ID:dhboYsf00
- >>7
仕様は>>1 - 6 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 14:58:17.355 ID:dhboYsf00
- プログラミング詳しい人いないの?
- 12 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:02:27.977 ID:/YSchYXW0
- 美しくないとか言い出すなら人に求めるな
- 14 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:03:00.992 ID:Evq/2Lac0
- 先に1~5の確率を決めないと
- 16 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:04:04.305 ID:dhboYsf00
- >>14
1が高くて順に5が低ければどんなんでもいい - 15 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:03:42.276 ID:D/wfIEiR0
- このスレここからめっちゃ面白くなるよ
- 17 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:04:27.910 ID:dhboYsf00
- \
こういうイメージ
- 18 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:05:17.694 ID:HKqAbCDqd
- int a
↑これやめろ - 19 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:05:47.291 ID:AOoaT1sC0
- 100要素の配列に1~5を求める数ずつ入れておけば余裕
- 20 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:06:25.227 ID:dhboYsf00
- >>19
美しくない
だめ - 23 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:08:04.127 ID:5eAB+gty0
- 割り算をする、ハイ論破
- 24 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:08:21.554 ID:h2uoqnvV0
- ごめん適当に書きすぎたからやっぱ無理かも
- 25 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:08:28.575 ID:AOoaT1sC0
- 一般的にやるなら、分布関数fに対して積分関数Fを定義して、その逆関数を使えばいいだけだな
- 27 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:10:40.694 ID:dhboYsf00
- >>25
式で書いて - 29 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:12:01.694 ID:AOoaT1sC0
- >>27
1が出る確率が5/15、2が出る確率が4/15……5が出る確率が5/15でいいのか? - 32 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:14:38.834 ID:dhboYsf00
- >>29
おk
5が1/15で - 35 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:26:36.624 ID:AOoaT1sC0
- >>32
おっとすまん、そこはただのミスだうーん……積分関数と逆関数求めるのめんどくさいな
素直にforループで累積値配列を求めて二分探索するのが一番だな - 31 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:12:42.103 ID:EiDbijq/0
- >>1が一番プログラミングに詳しい説
- 36 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:26:51.891 ID:UNVX0iRed
- 確率分布が線形なら積分して二次関数にぶっ込んでやればいいんかな
- 37 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:30:10.384 ID:dhboYsf00
- あー
もう正解に辿りついてしまった - 38 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:30:59.739 ID:dhboYsf00
- r < a^3
- 39 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:32:00.494 ID:dhboYsf00
- こんな簡単なのすぐ出てこないって・・・
お前ら・・・ - 42 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:35:32.406 ID:dhboYsf00
- r > a^3
こうか
- 43 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:36:16.450 ID:dhboYsf00
- r < (6 – a)^3
こうだな
- 45 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:40:14.098 ID:AOoaT1sC0
- まあ正確にはrが0~99だから、(6-i)*(6-i)*4か
- 48 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:42:21.277 ID:dhboYsf00
- >>45
なるほど - 47 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:41:19.804 ID:jGcbn0uz0
- haskellで乱数の実装めんどいからなー
どうするといいかなー - 49 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:44:42.031 ID:8N4vzlwId
- いっち性格悪いよね
- 51 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:46:33.014 ID:dhboYsf00
- >>49
これが>>2で出てほしかったなr < (6-a)^2*4
- 54 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:48:50.538 ID:CriD1nEna
- >>51
こんなレスするぐらいのゴミなら自分で考えなよ - 53 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:48:05.630 ID:dhboYsf00
- そもそも2乗する意味ないな
r < (6-a)*20
これでいいか
- 56 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:49:17.899 ID:AOoaT1sC0
- >>53
それ全部同じ確率にならね? - 55 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:48:57.665 ID:dhboYsf00
- いやていうかこれ間違ってるか
- 58 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:50:18.477 ID:dhboYsf00
- あれ全部間違ってる気がしてきた
求めるのはaなんだよ
判定にa使うのはだめだ - 61 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:52:10.519 ID:AOoaT1sC0
- >>58
全てのAでチェックすればよくね? それが嫌なら結局バイナリサーチだ
まあ素直に√とか使ってやってもいいけど - 60 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:51:23.837 ID:dhboYsf00
- a = ほにゃらな * r
みたいな感じで
- 62 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:52:45.215 ID:D/wfIEiR0
- ごめん
このスレ面白くなるって言ったけど
あれ嘘なんだ - 66 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 15:59:47.521 ID:dhboYsf00
- 配列に1~5の確率入れてループさせるわ
- 68 名前:ひみつの名無しさん 投稿日時:2020/10/25(日) 16:03:25.581 ID:CriD1nEna
- あとは自分で考えろバーカ
コメント