Base-N to Decimal

Base-N to Decimal

Medium PHP PHP Data Types 17 views
Explanation Complexity

Problem Statement

Given base b (2..36) and string s (digits/letters), convert to decimal.

Input Format

One line: b s.

Output Format

One integer.

Example

16 1A
26

Constraints

s fits in 64-bit when converted.

Input / Output Format

Input Format
One line: b s.
Output Format
One integer.
Constraints
s fits in 64-bit when converted.

Examples

Input:
16 1A
Output:
26

Example Solution (Public)

PHP
<?php
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
[$b,$s]=preg_split('/\\s+/', $inputText, 2);
$base=intval($b);
$s=strtoupper(trim($s));
$val=0;
for($i=0,$n=strlen($s);$i<$n;$i++){
  $ch=$s[$i];
  if($ch>='0' && $ch<='9') $d=ord($ch)-48;
  else $d=ord($ch)-55;
  $val=$val*$base + $d;
}
echo $val;
?>

Official Solution Code

<?php
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
[$b,$s]=preg_split('/\\s+/', $inputText, 2);
$base=intval($b);
$s=strtoupper(trim($s));
$val=0;
for($i=0,$n=strlen($s);$i<$n;$i++){
  $ch=$s[$i];
  if($ch>='0' && $ch<='9') $d=ord($ch)-48;
  else $d=ord($ch)-55;
  $val=$val*$base + $d;
}
echo $val;
?>
Please login to submit solutions.
Editor
Output

                                        
Please login to submit solutions.