Big Multiply by Digit
PHP
Hard
5 views
Problem Description
Input big integer a and digit m (0..9). Print a*m.
Input Format
One line: a m.
Output Format
One integer string.
Official Solution
<?php
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
[$a,$m]=preg_split('/\\s+/', $inputText, 2);
$a=ltrim($a,'0'); if($a==='') $a='0';
$m=intval($m);
if($m===0 || $a==='0'){ echo '0'; exit; }
$carry=0; $out='';
for($i=strlen($a)-1;$i>=0;$i--){
$v=(ord($a[$i])-48)*$m + $carry;
$out=chr(($v%10)+48).$out;
$carry=intdiv($v,10);
}
while($carry){ $out=chr(($carry%10)+48).$out; $carry=intdiv($carry,10); }
echo $out;
?>
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!