[過去ログ] スレ立てるまでもない質問はここで 159匹目 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
818
(2): デフォルトの名無しさん [sage] 2022/04/24(日) 10:03:30.75 ID:qAz5Hesd(1/2) AAS
こんな感じでいける?

var numbers = new int[] { 0, 300, 150, 100, 80 };
var sums = new int[numbers.Length];
for (int i = 0, sum = 0; i < numbers.Length; i++)
sums[i] = (sum += numbers[i]);
int v = new Random().Next(sums[sums.Length - 1]) + 1;
int ok = sums.Length - 1, ng = -1;
while (ok - ng > 1)
{
int mid = (ok + ng) / 2;
if (sums[mid] >= v) ok = mid;
else ng = mid;
}
Console.WriteLine(ok + 1);
823
(1): デフォルトの名無しさん [sage] 2022/04/24(日) 10:18:09.54 ID:qAz5Hesd(2/2) AAS
{ 0, 300, 150, 100, 80 }の意味が
・1が 0/630 の確率で出る
・2が 300/630 の確率で出る
・3が 150/630 の確率で出る
・4が 100/630 の確率で出る
・5が 80/630 の確率で出る
(630は、すべての要素を足した数)
と解釈したんだが、違うのかねぇ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.039s