Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $input = <<<END
- 7664 71994 9096 71785 26 904 668944 78 46 3869 64043
- 927 97 45923 49 790 360 29986 618 832040 30 77419
- 27 529 456 268052 5279 3832 28 67 23396 70500 3876
- 57 883 27 73734 924 144 6164 221 307 41 6753 75584
- 27191 61 3413 12 255255 5750 5104 99 3146 316 972 90
- 1069 8050 3472 60119 49 984 150910 48165 52829 3513
- 28 408 121393 21076 69218 678 877820 20348 7866 938
- 37 159 75534 81163 743219 74670 0
- END;
- function is_fibonacci($n){
- $x = 1;
- $y = 1;
- while($x < $n){
- $temp = $y;
- $y = $y + $x;
- $x = $temp;
- }
- return ($x == $n) ? true : false;
- }
- function is_triangle($n){
- $x = 1;
- $y = 1;
- while($x < $n){
- $x += $y+1;
- $y++;
- }
- return ($x == $n) ? true : false;
- }
- function is_even($n){
- if($n == 0){
- return false;
- }
- return ($n%2 == 0) ? true : false;
- }
- $input = preg_replace("#([ \n\r])+#", ' ', $input);
- $input = explode(" ", $input);
- //categorise numbers
- $fib = array();
- $evens = array();
- $triangles = array();
- foreach($input as $key => $value){
- if(is_fibonacci($value)){
- $fib[] = $value;
- }
- if(is_even($value)){
- $evens[] = $value;
- }
- if(is_triangle($value)){
- $triangles[] = $value;
- }
- }
- sort($fib);
- sort($evens);
- sort($triangles);
- if(empty($fib)){
- $fib[] = "None";
- }
- if(empty($triangles)){
- $triangles[] = "None";
- }
- if(empty($evens)){
- $evens[] = "None";
- }
- echo "Even numbers: min ".str_pad($evens[0], 5, ' ', STR_PAD_RIGHT)." max ".end($evens)."\n";
- echo "Triangular numbers: min ".str_pad($triangles[0], 5, ' ', STR_PAD_RIGHT)." max ".end($triangles)."\n";
- echo "Fibonacci numbers: min ".str_pad($fib[0], 5, ' ', STR_PAD_RIGHT)." max ".end($fib)."\n";
Advertisement
Add Comment
Please, Sign In to add comment