Re: [閒聊] 1%的抽卡率抽100次機率是63.4%?

作者: fragmentwing (片翼碎夢)   2019-06-03 23:19:52
※ 引述《sqe123456z (\れをる大好き/)》之銘言:
: 欸不是,我覺得我數學不爛啊
: 雖然我大學讀日文系以後再也沒用到數學了,但是我當年學測也考了14級分欸
: 我剛剛看理科生看到這兩張
: 幹我想了好久都不知道這到底怎麼算出來的
: https://i.imgur.com/pdD98Fk.jpg
: https://i.imgur.com/hXudCD0.jpg
: 有沒有人能告訴我計算過程啊?
: 我的理解是手游抽卡,因為沒有限定數量
: 所以不管抽一百次還是一千次,抽中的機率應該都是1%啊
: 靠北我高中數學真的都還給老師了嗎?
: 這到底怎麼算的==
https://imgur.com/fs1T6T9
獻醜
原本想說要用log去算,發現超不準,只好直接算了
怕超過2*32次,就用10次和0.1的機率去算了
至少一次的機率==一次+兩次+...+N(抽的總次數)次
以下程式碼,才正式學C不到10天,請鞭小力點
#include<stdio.h>
#include<math.h>
int cntnis(int a,int b){
int top=1,bottom=1;
for(int i=1;i<=b;i++){
top*=(a-i+1);
bottom*=i;
}
int compute=top/bottom;
return compute;
}
double multi(double have,int havet,int nohavet){
double result=pow(have,havet)*pow((1.0-have),nohavet);
return result;
}
int main(){
int times,cntn,i;
double haveis,mulh,probability,expectation=0;
times=10;
haveis=0.1;
for(i=1;i<=times;i++){
cntn=cntnis(times,i);
mulh=multi(haveis,i,times-i);
probability=cntn*mulh;
printf("抽 %d 次中,抽中 %d 張的機率= %lf\n",times,i,probability);
expectation+=probability*i;
}
printf("抽 %d 次,機率 %.3lf 期望值為: %lf",times,haveis,expectation);
return 0;
}
作者: kinomon (奇諾 Monster)   2019-06-03 23:25:00
二項分配不就好了嗎? 反正後面沒人在意
作者: arrenwu (鍵盤的戰鬼)   2019-06-03 23:27:00
我跟你說 這種事情,不要用C去做
作者: kinomon (奇諾 Monster)   2019-06-03 23:28:00
不對 二項展開 說錯惹
作者: fragmentwing (片翼碎夢)   2019-06-03 23:28:00
http://i.imgur.com/JwccTOI.jpg發現抽100次 機率0.01還行 除了回報值有問題外
作者: spw050693 (念來過倒要名取)   2019-06-03 23:28:00
至少一次不是1減全部槓龜的機率嗎?
作者: kinomon (奇諾 Monster)   2019-06-03 23:30:00
原來如此
作者: fragmentwing (片翼碎夢)   2019-06-03 23:33:00
2樓 我之前學的另一個是fortran 兩邊麻煩度差不多
作者: arrenwu (鍵盤的戰鬼)   2019-06-03 23:33:00
你需要的是...Python
作者: fragmentwing (片翼碎夢)   2019-06-03 23:34:00
不過fortran的格式我懂比較多 能輸出得整齊一點
作者: arrenwu (鍵盤的戰鬼)   2019-06-03 23:36:00
你程式會寫成這樣雞哩瓜拉的原因是因為 C 的標準函式庫太簡陋了
作者: hinanaitenco (桃子好吃)   2019-06-03 23:41:00
這用matlab吧
作者: aikotoba (aikotoba)   2019-06-04 01:10:00
低階語言真的好煩
作者: assss49 (帥為)   2019-06-04 01:10:00
請愛用python 大概可以減少1/2的程式碼
作者: laechan (揮淚斬馬雲)   2019-06-04 11:42:00
我都用 mudlib可以試看看用遞迴的寫法可以少寫一堆東西
作者: geroge0820 (可.....可惡)   2019-06-04 13:02:00
覺得懷念
作者: GTR12534 (カラス)   2019-06-04 13:32:00
別存成 cpp 卻用 C 的語法好爆==看了很頭痛

Links booklink

Contact Us: admin [ a t ] ucptt.com