【文字列処理メニュー】巨大な数のかけ算 (paizaランク C 相当) 解答例 – PHP編【paiza】
【文字列処理メニュー】 > 巨大な数のかけ算 (paizaランク C 相当)
※リンク先へ移動する為には「paiza」へのログインが必要です。
解答例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<?php $a = trim(fgets(STDIN)); $b = trim(fgets(STDIN)); $keta = mb_strlen($a); $c = array_reverse(str_split($a)); $counter = 0; $z = 0; for($i = 0;$i < $keta;$i++){ $n = $c[$i] * $b; //echo $n; if($counter > 0){ $n = $n + $counter; } $array[] = substr($n,-1); //print_r($array); if($n >= 10){ $counter = substr($n,0,1); } else { $counter = 0; } } if($counter > 0){ $array[] = $counter; } $ans = array_reverse($array); $anscount = count($ans); for($i = 0;$i < $anscount;$i++){ if($ans[$i] == 0){ unset($ans[$i]); } else { break; } } foreach($ans as $value){ echo $value; } if(empty($ans)){ echo "0"; } ?> |