Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Description of Ovni
- *
- * @author Gabriel Machado
- */
- class Ovni {
- protected $cometaGrupo = [];
- public function __construct($cometaGrupo) {
- $this->cometaGrupo = $cometaGrupo;
- }
- public function analisarGrupos() {
- foreach ($this->cometaGrupo as $cometa => $grupo) {
- if ($this->restoDiv45($cometa) === $this->restoDiv45($grupo)){
- echo "Grupo $grupo, all aboard!!" . PHP_EOL;
- } else {
- echo "Grupo $grupo nao sera levado" . PHP_EOL;
- }
- }
- }
- private function restoDiv45($palavra) {
- return $this->calcularProduto($palavra) % 45;
- }
- private function calcularProduto($palavra) {
- $produto = 1;
- $letras = str_split($palavra);
- foreach ($letras as $letra){
- $produto *= $this->ascii2number($letra);
- }
- return $produto;
- }
- private function ascii2number($letra) {
- return ord(strtoupper($letra)) - 64;
- }
- }
- $lista = [
- 'Halley' => 'Amarelo',
- 'Encke' => 'Vermelho',
- 'Wolf' => 'Preto',
- 'Kushida' => 'Azul'
- ];
- $ovni = new Ovni($lista);
- $ovni->analisarGrupos();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement