All pastes #71791 Raw Edit

Something

public text v1 · immutable
#71791 ·published 2006-06-26 04:27 UTC
rendered paste body
alias fcalc { 
  if ($chr(58) !isin $1-) { return } 

  var %num $1- 
  var %math $2 
  var %pos $pos(%num,$(%math,2)) 

  var %side.1 = $remove($left(%num,%pos),$(%math,2)) 
  var %side.2 = $right(%num,$+(-,%pos)) 

  var %x 2 
  while (%x) { 
    set $+(%,len.,%x) $calc($count($($+(%,side.,%x),2),$chr(58)) + 1) 
    dec %x 
  } 

  if (%len.1 == %len.2) { 
    var %y 1 
    var %x %len.1 
    while (%y <= 2) { 
      while (%x) { 
        set $+(%,cs,%y,.,%x) $gettok($($+(%,side.,%y),2),$(%x,2),58) 
        dec %x 1 
      } 
      inc %y 1 
      var %x %len.1 
    } 
    var %x %len.1 
    while (%x) { 
      var %c = $calc($($+(%,cs1.,%x),2) %math $($+(%,cs2.,%x),2)) 
      set %ans $+($chr(58),%c,%ans) 
      dec %x 1 
    } 
  } 

  echo -a Num: %num Ans: $right(%ans,-1) 

  unset %len.* 
  unset %calc.* 
  unset %cs* 
  unset %ans 
}