Advertisement
Guest User

CodeIQ Q1121 Problem "Return Number"

a guest
Oct 21st, 2014
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.59 KB | None | 0 0
  1. <?php
  2.  
  3. // CodeIQ Q1121 Problem "Return Number"
  4.  
  5. $arr = array_fill(0, 10, 0);
  6. $l = 9;
  7.  
  8. function foo($k, $f) {
  9.     global $arr, $l;
  10.     for ($i = 0; $i < 10; $i++) {
  11.         $arr[$k - 1] = $i;
  12.         $s = $f;
  13.         for ($j = 0; $j < $k; $j++) {
  14.             $s += $arr[$j] * $arr[$k - 1 - $j];
  15.         }
  16.         if ($s % 10 == $arr[$k - 1]) {
  17.             if ($k < $l) {
  18.                 foo($k + 1, floor($s / 10));
  19.             } elseif ($arr[$k - 1] > 0) {
  20.                 $v = '';
  21.                 for ($j = 0; $j < $k; $j++) {
  22.                     $v .= $arr[$k - 1 - $j];
  23.                 }
  24.                 echo sprintf("%20d", $v), PHP_EOL;
  25.                 echo sprintf("%20s", bcmul($v, $v)), PHP_EOL;
  26.             }
  27.         }
  28.     }
  29. }
  30.  
  31. foo(1, 0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement