3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Problema: * * 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 */ /** * Verifica um array contendo os cometas e grupos que serão levados. * * @param Array $cometasGrupos * @return String */ function verificarCometas($cometasGrupos) { $mensagem = ''; foreach ($cometasGrupos as $cometa => $grupo) { $somaCometa = somarLetras($cometa); $somaGrupo = somarLetras($grupo); if (! validarDivisao($somaCometa, $somaGrupo)) { $mensagem .= "{$grupo}" . PHP_EOL; } } return $mensagem; } /** * 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 a divisão do cometa e grupo e retorna se ele é valido ou não. * * @param Int $cometa, Int $grupo * @return Boolean */ function validarDivisao($cometa, $grupo) { $divisor = 45; $divisaoCometa = $cometa % $divisor; $divisaoGrupo = $grupo % $divisor; $valido = false; if ($divisaoCometa == $divisaoGrupo) { $valido = true; } return $valido; } /** * Lista de cometas e grupos a serem verificados. */ $cometasGrupos = array( 'HALLEY' => 'AMARELO', 'ENCKE' => 'VERMELHO', 'WOLF' => 'PRETO', 'KUSHIDA' => 'AZUL' ); echo verificarCometas($cometasGrupos);
Output for git.master, git.master_jit, rfc.property-hooks
VERMELHO

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
62.17 ms | 401 KiB | 8 Q