看板 Mathematica 關於我們 聯絡資訊
sav = 0; iter = 10000000; For[i = 1, i <= iter, i++, If[Random[]^2 < 1/2, sav = sav + 1;] ] // Timing 2 sav/iter // N 這樣居然也算了23秒,覺得有點太久,請問要怎樣寫才會快呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.26.112.191 ※ 文章網址: http://www.ptt.cc/bbs/Mathematica/M.1419092852.A.941.html ※ 編輯: Serenede (114.26.112.191), 12/21/2014 00:39:59
biglion: Nest[UnitStep[(1/2-Random[]^2)]+#&,0,10000000] 12/21 00:57
sunev: RandomVariate[NormalDistribution[1/Sqrt[2], 1/Sqrt[12]/ 12/21 07:02
sunev: /Sqrt[10000000]]] 12/21 07:02
chungyuandye: AbsoluteTiming@Total@NestList[If[Random[]^2<0.5, 12/21 07:36
chungyuandye: 1,0]&,0,iter] 12/21 07:36