title: Fast Multiplication Method Without Using Multiplication Operator Russian Peasants Algorithm
signature: pub fn fast_multiplication_method_without_using_multiplication_operator_russian_peasants_algorithm(a: i32, b: i32) -> i32 {
test_code: use std::collections::HashMap;
  use std::collections::HashSet;
  use std::cmp::*;
  use std::collections::*;
  use std::fmt::*; 
  
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  pub fn validate_solution(actual: i32, expected: i32)->bool{
  return actual==expected
  }
  pub fn driver(a: i32, b: i32, expected: i32)->String{
      if validate_solution(PLACEHOLDER_FN_NAME(a, b), expected) {
        return "PASSED".to_string();
      };
      return "FAILED".to_string();
  
  }
  
  fn main() {
      println!("TEST-0...{}", driver(
        4, 33, 
        132
      ));
      
      println!("TEST-1...{}", driver(
        36, 67, 
        2412
      ));
      
      println!("TEST-2...{}", driver(
        65, 52, 
        3380
      ));
      
      println!("TEST-3...{}", driver(
        55, 37, 
        2035
      ));
      
      println!("TEST-4...{}", driver(
        35, 76, 
        2660
      ));
      
      println!("TEST-5...{}", driver(
        69, 98, 
        6762
      ));
      
      println!("TEST-6...{}", driver(
        84, 62, 
        5208
      ));
      
      println!("TEST-7...{}", driver(
        5, 80, 
        400
      ));
      
      println!("TEST-8...{}", driver(
        15, 36, 
        540
      ));
      
      println!("TEST-9...{}", driver(
        67, 84, 
        5628
      ));
      
  }
source_py: def fast_multiplication_method_without_using_multiplication_operator_russian_peasants_algorithm(a, b):
      res = 0
      while (b > 0):
          if (b & 1):
              res = (res + a)
          a = (a << 1)
          b = (b >> 1)
      return res
source_cpp: unsigned int fast_multiplication_method_without_using_multiplication_operator_russian_peasants_algorithm(unsigned int a, unsigned int b) {
    int res = 0;
    while ( b > 0 ) {
      if ( b & 1 ) res = res + a;
      a = a << 1;
      b = b >> 1;
    }
    return res;
  }