作者Romulus (Romulus)
看板Shadowverse
标题Re: [情报] 官方FB 妖精&巫师法术新卡中文
时间Sat Sep 15 16:03:17 2018
※ 引述《shyin7089 (希音)》之铭言:
: ※ 引述《z897899878 (ascdge)》之铭言:
: : https://goo.gl/CC8GY5
: : https://imgur.com/zCpLjrS.jpg
: : https://imgur.com/r3fidv7.jpg
: 结论:我觉得与其要用这张收头,还不如乖乖用大奇,这张顶多算是让对手进斩杀线的手
: 段,毕竟还有其他3/3+X/X跟补血。
结果他是取总和固定时每个(X,Y,Z)三元组机率一样的分布也是有可能的啊
code也不难,令N为共鸣次数
int N = 20;
int all = (N + 1) * (N + 2) / 2;
int target = (int) (Math.random() * all);
int x = -1, y = -1, z = -1;
int sum = 0;
for (int x_ = 1; sum < all; x_++) {
sum += x_;
if (sum > target) {
x = N - x_ + 1;
y = sum - target - 1;
z = N - x - y;
break;
}
}
简化版:
int t=(int)(rand()*((N+1)(N+2)/2));
X=N-(int)((sqrt(1+8t)-1)/2);
Y=(int)(Math.random()*(N-X+1));
Z=N-X-Y;
当N=20时,20点糊到对面脸上机率=23/23兵兵机率=自己满血奶0(x)机率=1/231
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.167.181.77
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Shadowverse/M.1536998600.A.A9A.html
1F:推 dannyko: 变数用底线真的母汤喔 09/15 16:06
2F:→ Romulus: why? 09/15 16:12
3F:推 recursive: 跑回圈 用int i 不好吗? 09/15 16:17
4F:推 tomuy: 照顾一下文组好吗 09/15 16:39
5F:→ Romulus: x_是有意义的啊 那不是单纯index 09/15 17:03
6F:→ Romulus: 那是代表x在哪一组的位置 09/15 17:04
7F:推 Becuzlove: 快推 不然会被知道看不懂XD 09/15 18:45
8F:→ Sasamumu: 这个程设一第二次段考就会ㄉ 09/15 18:48
9F:推 davy012345: 嗯嗯跟我想的一样 09/15 18:55
10F:推 tom40819: 大师可以求一下18血量的机率有多高吗 09/15 19:17
11F:推 shyin7089: 用重复组合H算给18血伤害的机率是3/231 09/15 21:04
12F:→ Romulus: Yes 09/15 21:37
13F:→ tom40819: 有1%的机率可以秒杀对方 我觉得可以 比抽主战还高= = 09/15 23:53
14F:推 twosheep0603: 这个算法的前提是假设每一种XYZ组合均匀出现 09/16 03:33
15F:→ twosheep0603: 是1/231还是(1/3)^20只要卡包上线马上就知道了 09/16 03:34