3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Sabe-se que por trás de cada cometa há um OVNI. Esses OVNIs frequentemente buscam bons desenvolvedores aqui na Terra. Infelizmente só têm espaço para levar um grupo de devs por vez. Para a seleção, há um engenhoso esquema, da associação do nome do cometa ao nome do grupo, que possibilita a cada grupo saber se será levado ou não. * Os dois nomes, do grupo e do cometa, são convertidos em um número que representa o produto das letras do nome, onde "A" é 1 e "Z" é 26. Assim, o grupo "LARANJA" seria 12 * 1* 18 * 1 * 14 * 10 * 1 = 30240. Se o resto da divisão do número do grupo por 45 for igual ao resto da divisão do número do cometa por 45, então o grupo será levado. * Para os cometas e grupos abaixo, qual grupo NÃO será levado? * Cometa Grupo * Halley Amarelo * Encke Vermelho * Wolf Preto * Kushida Azul */ /** * Lista de cometas e grupos a serem verificados. */ $cometas = array( 'HALLEY' => 'AMARELO', 'ENCKE' => 'VERMELHO', 'WOLF' => 'PRETO', 'KUSHIDA' => 'AZUL' ); foreach ($cometas as $cometa => $grupo) { $somaCometa = somarLetras($cometa); $somaGrupo = somarLetras($grupo); if (! cometaSeraLevado($somaCometa, $somaGrupo)) { echo "O grupo '{$grupo}' não será levado!" . PHP_EOL; } } /** * Realiza a soma das letras de uma palavra. * * @param String $palavra * @return String */ function somarLetras($palavra) { if (!$palavra) { return 0; } $palavra = str_split($palavra); $total = 0; foreach ($palavra as $letra) { $numero = ord(strtoupper($letra)) - 64; $total = $total ? $total * $numero : $numero; } return $total; } /** * Verifica se um cometá será levado ou não. * * @param Int $cometa, Int $grupo * @return Boolean */ function cometaSeraLevado($cometa, $grupo) { $divisor = 45; $divisaoCometa = $cometa % $divisor; $divisaoGrupo = $grupo % $divisor; $valido = false; if ($divisaoCometa == $divisaoGrupo) { $valido = true; } return $valido; }
Output for 5.0.2 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 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.6
O grupo 'VERMELHO' não será levado!
Output for 5.0.0 - 5.0.1
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/rUuKW on line 31 O grupo 'VERMELHO' não será levado!PHP_EOL
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: str_split() in /in/rUuKW on line 47
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.4
Fatal error: Call to undefined function: str_split() in /in/rUuKW on line 47
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: str_split() in /in/rUuKW on line 47

preferences:
240.35 ms | 401 KiB | 326 Q