Re: [閒聊] 1%的抽卡率抽100次機率是63.4%?
: 獻醜
: 原本想說要用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;
: }
看到原PO說剛學C就想拿來運用,想要鼓勵一下原PO,
這才是學程式的精神,學了就是有需要就要想到它,把它要拿出來用
有一些人認為C太低階,程式碼太長,用Python或Matlab打起來比較簡單
在這個案例上是沒錯啦,畢竟只是跑10次迴圈而已
但如果是跑上萬次、甚至是百萬次的話,我就建議用C了
我大學念資工時,有一堂課叫做 隨機程序
專門就是再學如何寫有效率的程式去模擬隨機環境,統計十萬百萬次後,比較是否符合數學上計算的機率
例如:
撲克牌抽三張都是紅心,模擬百萬次的成功次數
有三個袋子,裡面各有紅白三顆球,A袋摸一顆球放B袋,B袋摸一顆放C袋,最後C袋摸出紅球,模擬百萬次的成功次數
諸如此類的各種機率問題,都可以用程式去模擬十萬、百萬、甚至千萬次
這種迴圈都是要跑很久的,就比較需要可以碰觸到低階的C去寫程式
可以break迴圈就break,盡可能的減少不必要的過程
Matlab就很適合跑一些很難去寫的數學式演算法,因為都建好函數了
Laplace阿、Fourier都可以直接呼叫
可以畫圖也是一大優勢
我上面用C跑完的百萬次隨機模擬結果,也可以丟到Matlab去跑分布圖 讚讚
再來Matlab是以矩陣做運算的,也很適合去跑圖像分析和圖像處理
當初實驗室學長也有在用Matlab做人臉分析處理的,不過我沒有涉獵就不贅述了
Python是我目前看過最好學的程式了
直覺符合人類語言、程式短易讀易改、主流多數人都會用
我自己就google自學Python玩過網路爬蟲、wikia文本處理機器人、聊天機器人
總結來說
C 適合新手打基礎、或是寫需要大量運算需要增加效率時使用
Matlab 適合數學計算、數位圖像處理
Python 適合快速寫簡單程式、或是開發一些應用
以原原PO的漫畫中例子,我們就可以以C做模擬:
SSR機率1%,抽100次中,如果有中SSR就算成功,模擬百萬次,成功幾次
以數學理論上就是1-99%^100,這就可以直接在Matlab或是Python上做
在來比較最後的數值是否相似,以兩種不同的路來驗證最終結果沒問題
以上小弟淺見,還望各路大神鞭小力點
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.182.68 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1559618248.A.88E.html
推
06/04 11:20,
4年前
, 1F
06/04 11:20, 1F
推
06/04 11:23,
4年前
, 2F
06/04 11:23, 2F
推
06/04 11:24,
4年前
, 3F
06/04 11:24, 3F
→
06/04 11:24,
4年前
, 4F
06/04 11:24, 4F
→
06/04 11:25,
4年前
, 5F
06/04 11:25, 5F
推
06/04 11:26,
4年前
, 6F
06/04 11:26, 6F
推
06/04 11:29,
4年前
, 7F
06/04 11:29, 7F
推
06/04 11:29,
4年前
, 8F
06/04 11:29, 8F
→
06/04 11:29,
4年前
, 9F
06/04 11:29, 9F
會說學C/C++打基礎,是因為比較低階,新人可以學習電腦程式的邏輯思考方式
我們系上大一程式設計課 上學期是先教Python,對於程式完全沒學過的人比較好上手
下學期才開始教C/C++,把程式邏輯基礎打好
不過我高三學測完就先翻書自學C了 :P
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 11:36:54
推
06/04 11:31,
4年前
, 10F
06/04 11:31, 10F
→
06/04 11:31,
4年前
, 11F
06/04 11:31, 11F
→
06/04 11:32,
4年前
, 12F
06/04 11:32, 12F
→
06/04 11:33,
4年前
, 13F
06/04 11:33, 13F
→
06/04 11:34,
4年前
, 14F
06/04 11:34, 14F
→
06/04 11:35,
4年前
, 15F
06/04 11:35, 15F
推
06/04 11:36,
4年前
, 16F
06/04 11:36, 16F
→
06/04 11:36,
4年前
, 17F
06/04 11:36, 17F
→
06/04 11:36,
4年前
, 18F
06/04 11:36, 18F
推
06/04 11:37,
4年前
, 19F
06/04 11:37, 19F
→
06/04 11:37,
4年前
, 20F
06/04 11:37, 20F
→
06/04 11:37,
4年前
, 21F
06/04 11:37, 21F
推
06/04 11:38,
4年前
, 22F
06/04 11:38, 22F
推
06/04 11:38,
4年前
, 23F
06/04 11:38, 23F
→
06/04 11:39,
4年前
, 24F
06/04 11:39, 24F
推
06/04 11:41,
4年前
, 25F
06/04 11:41, 25F
→
06/04 11:42,
4年前
, 26F
06/04 11:42, 26F
推
06/04 11:42,
4年前
, 27F
06/04 11:42, 27F
推
06/04 11:43,
4年前
, 28F
06/04 11:43, 28F
→
06/04 11:44,
4年前
, 29F
06/04 11:44, 29F
→
06/04 11:44,
4年前
, 30F
06/04 11:44, 30F
→
06/04 11:44,
4年前
, 31F
06/04 11:44, 31F
→
06/04 11:44,
4年前
, 32F
06/04 11:44, 32F
→
06/04 11:45,
4年前
, 33F
06/04 11:45, 33F
推
06/04 11:45,
4年前
, 34F
06/04 11:45, 34F
→
06/04 11:45,
4年前
, 35F
06/04 11:45, 35F
→
06/04 11:46,
4年前
, 36F
06/04 11:46, 36F
推
06/04 11:46,
4年前
, 37F
06/04 11:46, 37F
還有 167 則推文
還有 19 段內文
→
06/04 14:27,
4年前
, 205F
06/04 14:27, 205F
→
06/04 14:27,
4年前
, 206F
06/04 14:27, 206F
→
06/04 14:27,
4年前
, 207F
06/04 14:27, 207F
→
06/04 14:27,
4年前
, 208F
06/04 14:27, 208F
→
06/04 14:27,
4年前
, 209F
06/04 14:27, 209F
→
06/04 14:27,
4年前
, 210F
06/04 14:27, 210F
→
06/04 14:27,
4年前
, 211F
06/04 14:27, 211F
→
06/04 14:27,
4年前
, 212F
06/04 14:27, 212F
→
06/04 14:27,
4年前
, 213F
06/04 14:27, 213F
→
06/04 14:27,
4年前
, 214F
06/04 14:27, 214F
→
06/04 14:27,
4年前
, 215F
06/04 14:27, 215F
→
06/04 14:27,
4年前
, 216F
06/04 14:27, 216F
→
06/04 14:27,
4年前
, 217F
06/04 14:27, 217F
→
06/04 14:27,
4年前
, 218F
06/04 14:27, 218F
→
06/04 14:27,
4年前
, 219F
06/04 14:27, 219F
→
06/04 14:27,
4年前
, 220F
06/04 14:27, 220F
推
06/04 14:32,
4年前
, 221F
06/04 14:32, 221F
→
06/04 14:32,
4年前
, 222F
06/04 14:32, 222F
→
06/04 14:45,
4年前
, 223F
06/04 14:45, 223F
我是念中後段的國立大學
這邊的環境是學生程式能力參差不齊,更嚴重的是有很多學生只想混畢業
大一入學前都不會寫程式,下課回家除了作業也不會想要多練習程式
熱情沒練習程式能力當然無法進步,學生都原地踏步,能教的就不多
系上的規畫上,到了大三選修課才開始在課堂上學做專案
但說白了也只是不到千行的小專案
一堂課也才18周,還要上課教課程內容
以資料庫這堂課舉例,學關連式資料庫、SQL語法就花了約8~9周
期中考完上述後,才開始寫專案,每周課堂做專案報告
再來教授也不一定會跟業界有互動,當然就不知道現在業界流行的內容
有些教授更只顧著自己研究室的案子
畢竟申請研究經費還是比教育理念重要阿XD
推
06/04 14:47,
4年前
, 224F
06/04 14:47, 224F
→
06/04 14:47,
4年前
, 225F
06/04 14:47, 225F
推
06/04 14:56,
4年前
, 226F
06/04 14:56, 226F
推
06/04 14:58,
4年前
, 227F
06/04 14:58, 227F
→
06/04 14:58,
4年前
, 228F
06/04 14:58, 228F
→
06/04 14:58,
4年前
, 229F
06/04 14:58, 229F
推
06/04 14:59,
4年前
, 230F
06/04 14:59, 230F
→
06/04 15:09,
4年前
, 231F
06/04 15:09, 231F
→
06/04 15:10,
4年前
, 232F
06/04 15:10, 232F
→
06/04 15:15,
4年前
, 233F
06/04 15:15, 233F
※ 編輯: seeghost945 (60.251.182.68 臺灣), 06/04/2019 15:55:44
推
06/04 15:57,
4年前
, 234F
06/04 15:57, 234F
推
06/04 16:17,
4年前
, 235F
06/04 16:17, 235F
推
06/04 16:40,
4年前
, 236F
06/04 16:40, 236F
推
06/04 22:46,
4年前
, 237F
06/04 22:46, 237F
→
06/04 22:47,
4年前
, 238F
06/04 22:47, 238F
→
06/04 22:47,
4年前
, 239F
06/04 22:47, 239F
→
06/04 22:48,
4年前
, 240F
06/04 22:48, 240F
推
06/05 01:59,
4年前
, 241F
06/05 01:59, 241F
推
06/05 02:22,
4年前
, 242F
06/05 02:22, 242F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 9 篇):