Howard Bullock
KiX Supporter
   
Registered: 2000-09-15
Posts: 5809
Loc: Harrisburg, PA USA
|
This is my leading script.
KixGolf score = 276
Single use only. +5 stroke for multi-use. remove the ";" in front of "Dim" code:
Function BaseConverter($v,$d,$e) ;Dim $B $m = '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' $ = CDBL(1) $i = len($v) Do $x = instr($m,substr($v,$i,1)) $j = $ * $x + $j $ = $ * $d $i = $i - 1 Until $i = 0
$ = $ / $ do $ = $ * $e Until $j < $ * $e Do $z = int($j / $) $B = $B + substr($m,$z,1) if $j >= $ $j = $j - $ * $z endif $ = $ / $e Until $<1 $BaseConverter=$B Endfunction ;! break on BaseConverter("44680832201",10,36) ? ;BaseConverter("78","11","13") ? ;BaseConverter("2","3","2") ? ;BaseConverter("23423","5","12") ? ;BaseConverter("BrianTX","36","10") ? ;BaseConverter("64","8","2") ;BaseConverter('Kixtart',36,10) ? ;BaseConverter('52',10,2) ? ;BaseConverter('52','10','2') ?
This is my runner up KixGolf score = 278
Same disclaimer on the "Dim" +5 strokes for multi-use. code:
Function BaseConverter($v,$d,$e) ;Dim $B $ = CDBL(1) $i = len($v) Do $x = Asc(ucase(substr($v,$i,1))) - 48 If $x > 9 $x = $x - 7 endif $j = $ * $x + $j $ = $ * $d $i = $i - 1 Until $i = 0
$ = $ / $ do $ = $ * $e Until $j < $ * $e Do $z = int($j / $) $x = $z + 48 if $x > 57 $x = $x + 7 endif $B = $B + chr($x) if $j >= $ $j = $j - $ * $z endif $ = $ / $e Until $<1 $BaseConverter=$B Endfunction ;! break on BaseConverter("44680832201",10,36) ? ;BaseConverter('Kixtart',36,10) ? ;BaseConverter('52',10,2) ? ;BaseConverter('52','10','2') ? ;BaseConverter("78","11","13") ? ;BaseConverter("2","3","2") ? ;BaseConverter("23423","5","12") ? ;BaseConverter("BrianTX","36","10") ? ;BaseConverter("64","8","2") ?
|