Advertisement
ivan_yosifov

Binary_Digit_Count

May 5th, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script>
  2. function Solve(args){
  3.     var S = parseInt(args[0]);
  4.     var N = parseInt(args[1]);
  5.     var answer = 0;
  6.     var combinations = N * N;
  7.     var binNumber = "";
  8.     var sum;
  9.    
  10.     var arr = [N];
  11.     for(var i = 0; i < N; i++){
  12.         arr[i] = parseInt(args[i+2]);
  13.     }
  14.    
  15.     for(var i = 1; i < combinations; i++){
  16.         binNumber = convertToBinary(i);
  17.         sum = 0;
  18.        
  19.         for(var j = 0; j < N; j++){
  20.             var bit = binNumber[j];
  21.             if(bit == "1"){
  22.                 sum += arr[j];
  23.             }
  24.         }
  25.        
  26.         if(sum == S){
  27.             answer++;
  28.         }
  29.     }
  30.    
  31.     return answer;
  32.    
  33.     function convertToBinary(number){
  34.         var result = "";
  35.        
  36.         while(number != 0){    
  37.             var remainder = number % 2;
  38.             number = parseInt(number / 2);
  39.            
  40.             result = remainder + result;
  41.         }
  42.        
  43.         if(result === "") result = "0";
  44.        
  45.         return result;
  46.     }
  47. }
  48.  
  49. console.log(Solve(0,5,-2,-1,1,2,3));
  50.  
  51. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement