Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // CodeIQ Q1121 Problem "Return Number"
- $arr = array_fill(0, 10, 0);
- $l = 9;
- function foo($k, $f) {
- global $arr, $l;
- for ($i = 0; $i < 10; $i++) {
- $arr[$k - 1] = $i;
- $s = $f;
- for ($j = 0; $j < $k; $j++) {
- $s += $arr[$j] * $arr[$k - 1 - $j];
- }
- if ($s % 10 == $arr[$k - 1]) {
- if ($k < $l) {
- foo($k + 1, floor($s / 10));
- } elseif ($arr[$k - 1] > 0) {
- $v = '';
- for ($j = 0; $j < $k; $j++) {
- $v .= $arr[$k - 1 - $j];
- }
- $g = gmp_init($v);
- echo sprintf("%20d", $v), PHP_EOL;
- echo sprintf("%20s", gmp_strval(gmp_mul($g, $g))), PHP_EOL;
- }
- }
- }
- }
- foo(1, 0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement