@ 2018-06-21T20:15:46Z <?php
$digits = array(9,8,7,6,5,4,3,2,1);
$primes = array(1,2,3,5,7,11);
//will return 1:1 for 5:5. The function does not try to simplify them further
function simplify(Int $num, Int $denom, Array $primes){
//going from high primes to low primes
foreach(array_reverse($primes) as $prime) {
if (($num % $prime == 0) && ($denom % $prime == 0)) {
if ($num % $denom == 0) {
return [intdiv($num,$denom)];
} elseif ($denom % $num == 0) {
return [1,intdiv($denom,$num)];
//return simplify($num,$denom,$primes);
}
return [$num / $prime,$denom / $prime];
}
}
return [$num,$denom];
}
function simplifyArrays(Array $arr1, Array $arr2, Array $primes) {
for($i=0;$i<count($arr1);$i++){
$num1 = $arr1[$i];
for($j=0;$j<count($arr2);$j++){
$num2 = $arr2[$j];
echo "simplify: $num1 / $num2 = " . implode("/",simplify($num1,$num2,$primes)) . "\n";
}
}
}
simplifyArrays($digits,$digits,$primes);
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.4 , 8.3.6 simplify: 9 / 9 = 1
simplify: 9 / 8 = 9/8
simplify: 9 / 7 = 9/7
simplify: 9 / 6 = 3/2
simplify: 9 / 5 = 9/5
simplify: 9 / 4 = 9/4
simplify: 9 / 3 = 3
simplify: 9 / 2 = 9/2
simplify: 9 / 1 = 9
simplify: 8 / 9 = 8/9
simplify: 8 / 8 = 1
simplify: 8 / 7 = 8/7
simplify: 8 / 6 = 4/3
simplify: 8 / 5 = 8/5
simplify: 8 / 4 = 2
simplify: 8 / 3 = 8/3
simplify: 8 / 2 = 4
simplify: 8 / 1 = 8
simplify: 7 / 9 = 7/9
simplify: 7 / 8 = 7/8
simplify: 7 / 7 = 1
simplify: 7 / 6 = 7/6
simplify: 7 / 5 = 7/5
simplify: 7 / 4 = 7/4
simplify: 7 / 3 = 7/3
simplify: 7 / 2 = 7/2
simplify: 7 / 1 = 7
simplify: 6 / 9 = 2/3
simplify: 6 / 8 = 3/4
simplify: 6 / 7 = 6/7
simplify: 6 / 6 = 1
simplify: 6 / 5 = 6/5
simplify: 6 / 4 = 3/2
simplify: 6 / 3 = 2
simplify: 6 / 2 = 3
simplify: 6 / 1 = 6
simplify: 5 / 9 = 5/9
simplify: 5 / 8 = 5/8
simplify: 5 / 7 = 5/7
simplify: 5 / 6 = 5/6
simplify: 5 / 5 = 1
simplify: 5 / 4 = 5/4
simplify: 5 / 3 = 5/3
simplify: 5 / 2 = 5/2
simplify: 5 / 1 = 5
simplify: 4 / 9 = 4/9
simplify: 4 / 8 = 1/2
simplify: 4 / 7 = 4/7
simplify: 4 / 6 = 2/3
simplify: 4 / 5 = 4/5
simplify: 4 / 4 = 1
simplify: 4 / 3 = 4/3
simplify: 4 / 2 = 2
simplify: 4 / 1 = 4
simplify: 3 / 9 = 1/3
simplify: 3 / 8 = 3/8
simplify: 3 / 7 = 3/7
simplify: 3 / 6 = 1/2
simplify: 3 / 5 = 3/5
simplify: 3 / 4 = 3/4
simplify: 3 / 3 = 1
simplify: 3 / 2 = 3/2
simplify: 3 / 1 = 3
simplify: 2 / 9 = 2/9
simplify: 2 / 8 = 1/4
simplify: 2 / 7 = 2/7
simplify: 2 / 6 = 1/3
simplify: 2 / 5 = 2/5
simplify: 2 / 4 = 1/2
simplify: 2 / 3 = 2/3
simplify: 2 / 2 = 1
simplify: 2 / 1 = 2
simplify: 1 / 9 = 1/9
simplify: 1 / 8 = 1/8
simplify: 1 / 7 = 1/7
simplify: 1 / 6 = 1/6
simplify: 1 / 5 = 1/5
simplify: 1 / 4 = 1/4
simplify: 1 / 3 = 1/3
simplify: 1 / 2 = 1/2
simplify: 1 / 1 = 1
Output for 8.3.5 Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
simplify: 9 / 9 = 1
simplify: 9 / 8 = 9/8
simplify: 9 / 7 = 9/7
simplify: 9 / 6 = 3/2
simplify: 9 / 5 = 9/5
simplify: 9 / 4 = 9/4
simplify: 9 / 3 = 3
simplify: 9 / 2 = 9/2
simplify: 9 / 1 = 9
simplify: 8 / 9 = 8/9
simplify: 8 / 8 = 1
simplify: 8 / 7 = 8/7
simplify: 8 / 6 = 4/3
simplify: 8 / 5 = 8/5
simplify: 8 / 4 = 2
simplify: 8 / 3 = 8/3
simplify: 8 / 2 = 4
simplify: 8 / 1 = 8
simplify: 7 / 9 = 7/9
simplify: 7 / 8 = 7/8
simplify: 7 / 7 = 1
simplify: 7 / 6 = 7/6
simplify: 7 / 5 = 7/5
simplify: 7 / 4 = 7/4
simplify: 7 / 3 = 7/3
simplify: 7 / 2 = 7/2
simplify: 7 / 1 = 7
simplify: 6 / 9 = 2/3
simplify: 6 / 8 = 3/4
simplify: 6 / 7 = 6/7
simplify: 6 / 6 = 1
simplify: 6 / 5 = 6/5
simplify: 6 / 4 = 3/2
simplify: 6 / 3 = 2
simplify: 6 / 2 = 3
simplify: 6 / 1 = 6
simplify: 5 / 9 = 5/9
simplify: 5 / 8 = 5/8
simplify: 5 / 7 = 5/7
simplify: 5 / 6 = 5/6
simplify: 5 / 5 = 1
simplify: 5 / 4 = 5/4
simplify: 5 / 3 = 5/3
simplify: 5 / 2 = 5/2
simplify: 5 / 1 = 5
simplify: 4 / 9 = 4/9
simplify: 4 / 8 = 1/2
simplify: 4 / 7 = 4/7
simplify: 4 / 6 = 2/3
simplify: 4 / 5 = 4/5
simplify: 4 / 4 = 1
simplify: 4 / 3 = 4/3
simplify: 4 / 2 = 2
simplify: 4 / 1 = 4
simplify: 3 / 9 = 1/3
simplify: 3 / 8 = 3/8
simplify: 3 / 7 = 3/7
simplify: 3 / 6 = 1/2
simplify: 3 / 5 = 3/5
simplify: 3 / 4 = 3/4
simplify: 3 / 3 = 1
simplify: 3 / 2 = 3/2
simplify: 3 / 1 = 3
simplify: 2 / 9 = 2/9
simplify: 2 / 8 = 1/4
simplify: 2 / 7 = 2/7
simplify: 2 / 6 = 1/3
simplify: 2 / 5 = 2/5
simplify: 2 / 4 = 1/2
simplify: 2 / 3 = 2/3
simplify: 2 / 2 = 1
simplify: 2 / 1 = 2
simplify: 1 / 9 = 1/9
simplify: 1 / 8 = 1/8
simplify: 1 / 7 = 1/7
simplify: 1 / 6 = 1/6
simplify: 1 / 5 = 1/5
simplify: 1 / 4 = 1/4
simplify: 1 / 3 = 1/3
simplify: 1 / 2 = 1/2
simplify: 1 / 1 = 1
Output for 5.6.0 - 5.6.40 Catchable fatal error: Argument 1 passed to simplify() must be an instance of Int, integer given, called in /in/qmgJX on line 26 and defined in /in/qmgJX on line 6
Process exited with code 255 . preferences:dark mode live preview
261.61 ms | 401 KiB | 287 Q