Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script type="text/javascript">
  2.  
  3. String.prototype.change = function(what, forW) {
  4.      return this.split(what).join(forW)
  5. }
  6.  
  7. function getMaxOfArray(numArray) {
  8.   return Math.max.apply(null, numArray);
  9. }
  10. function getMinOfArray(numArray) {
  11.   return Math.min.apply(null, numArray);
  12. }
  13. Array.prototype.swap = function(k, j) {
  14.      var temp = this[k]
  15.      this[k] = this[j];
  16.      this[j] = temp
  17. }
  18. var evaluateConj = function(str) {
  19.      var result = [];
  20.      for(var i = 0; i < str.length; i += 2)
  21.         result.push(str[i])
  22.      return getMaxOfArray(result)
  23. }
  24.  
  25. var s = prompt("Enter variables present in the formula:")
  26.  
  27. var obj = {};
  28. for(var i = 0; i < s.length; i++) {
  29.     obj[s[i]] = +prompt("Enter the value of " + s[i] + " : ")
  30. }
  31.  
  32. var formula = prompt("Enter the formula :")
  33.  
  34.  
  35. function braces(formula, obj) {
  36.     if(formula.indexOf("(") != -1) {
  37.         var index = formula.indexOf("(")
  38.         var temp = 1;
  39.         var eindex;
  40.         for(var i = index + 1; i < formula.length; i++) {
  41.             if(formula[i] == "(")
  42.                 temp++;
  43.             if(formula[i] == ")")
  44.                 temp--
  45.             if(temp == 0) {
  46.                 eindex = i
  47.                 break;
  48.             }
  49.         }
  50.         var form = formula.substr(index, eindex);
  51.         var temp = form.substr(2, form.length - 3);
  52.         formula = formula.replace(form, evaluate(temp, obj))
  53.         if(formula.indexOf("(") != -1) {
  54.              formula = braces(formula, obj)
  55.         }
  56.         return formula;
  57.     } else {
  58.         return formula;
  59.     }
  60. }
  61.  
  62.  
  63. var evaluate = function(formula, obj) {
  64.     formula = braces(formula, obj)
  65.     for(var i = 0; i < formula.length; i++) {
  66.            if(obj[formula[i]] != undefined) {
  67.               formula = formula.replace(formula[i], obj[formula[i]])
  68.            }   
  69.     }
  70.     formula = formula
  71.         .change("!1", "0")
  72.         .change("!0", "1")
  73.         .split(" ")
  74.         .join("")
  75.         .split("+");   
  76.     var temp;
  77.     var result = -1;
  78.     for(var i = 0; i < formula.length; i++) {
  79.         temp = formula[i].split("*")
  80.         result = Math.max(result, getMinOfArray(temp))
  81.     }
  82.     return result;
  83. }
  84. alert("The answer is" + " " + evaluate(formula, obj))
  85. </script>>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement