Advertisement
Guest User

binomial calculator

a guest
Aug 25th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. function combination (a, b) {
  2. return factorial(a) / (factorial(a - b) * factorial(b));
  3. }
  4.  
  5. function factorial (a) {
  6. let res = 1;
  7. while (a) {
  8. res *= a;
  9. a--;
  10. }
  11. return res;
  12. }
  13.  
  14. function generalBinomialTerm (total, n, x, y) {
  15. if (total < n || total < 0 || n < 0 || x < 0 || y < 0 || typeof x !== 'number' || typeof y !== 'number' || typeof x !== 'number' || typeof y !== 'number') return;
  16. return combination(total, n) * (x ** n) * (y ** (total - n));
  17. }
  18.  
  19. function binomialSum (from, to, total, x, y) {
  20. let sum = 0;
  21. for (let i = from; i <= to; i++) {
  22. sum += generalBinomialTerm(total, i, x, y);
  23. }
  24. return sum;
  25. }
  26.  
  27. function dice (amount, dice, difficulty, win) {
  28. return ('D' + dice + ' DIFFICULTY ' + difficulty + ' SKILL LEVEL ' + amount + '= ' + binomialSum(difficulty, amount, amount, win, (1 - win)) + '\n');
  29. }
  30.  
  31. function dices (list, level, difficulty, win) {
  32. let probabilities = '';
  33. lists.forEach(a => { probabilities += dice(level, a, difficulty, win) });
  34. console.log(probabilities);
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement