Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,22 @@
fcn combos(sides, n){
if(not n) return(T(1));
ret:=((0).max(sides)*n + 1).pump(List(),0);
foreach i,v in (combos(sides, n - 1).enumerate()){
if(not v) continue;
foreach s in (sides){ ret[i + s] += v }
}
ret
}
fcn winning(sides1,n1, sides2,n2){
p1, p2 := combos(sides1, n1), combos(sides2, n2);
win,loss,tie := 0,0,0; # 'win' is 1 beating 2
foreach i,x1 in (p1.enumerate()){
# using accumulated sum on p2 could save some time
win += x1*p2[0,i].sum(0);
tie += x1*p2[i,1].sum(0); // i>p2.len() but p2[bigi,?]-->[]
loss+= x1*p2[i+1,*].sum(0);
}
s := p1.sum(0)*p2.sum(0);
return(win.toFloat()/s, tie.toFloat()/s, loss.toFloat()/s);
}

View file

@ -0,0 +1,2 @@
println(winning([1..4].walk(), 9, [1..6].walk(),6));
println(winning([1..10].walk(),5, [1..7].walk(),6)); # this seem hardly fair