Ir ao conteúdo

Posts recomendados

Postado

Estou iniciando agora em PHP na faculdade e ainda estou aprendendo sobre funções. Este é o meu script, ele verifica todos os números até 200 que são primos e os imprime na tela. Alguém consegue me ajudar a fazer com que vire função?. Eu já tentei porém não sei qual parâmetro passar ao declarar a function.
Segue meu script:

   

 <?php
    $limite = 200;
    for($n = 1; $n <= $limite; $n++){
    $primo = 1;
    for($x = 1; $x <= $n;$x++){
      if ($x > 1 && $x < $n){ 
       if($n%$x == 0){
        $primo = 0;
       }
      }
    }
     if ($primo){
      echo "$n ";
      }
     }

    ?>

 

Postado

Olá!
Segue sugestão:

 

<?php
/**
 * EH PRIMO
 * Função para verificar se um número é primo
 * @param $numero
 */
function eh_primo($numero)
{
  if ($numero == 1)
    return;

  for ($i = 2; $i <= sqrt($numero); $i++) {
    if ($numero % $i == 0)
      return;
  }
  return $numero;
}

/** 
 * RETORNAR NÚMEROS PRIMOS
 * Função dispensa explicação
 * @param int $numeroInicial
 * @param int $numeroFinal
 * @return array
 */
$retornarNumerosPrimos = fn($numeroInicial = 1, $numeroFinal = 200) => array_filter(range($numeroInicial, $numeroFinal), 'eh_primo');

// mostrar os números primos entre 1 e 200 na tela
echo '<pre>entre 1 e 200: ';
print_r($retornarNumerosPrimos());
echo '</pre>';

// mostrar os números primos entre 200 e 700 na tela
echo '<pre>entre 200 e 700: ';
print_r($retornarNumerosPrimos(200, 700));
echo '</pre>';

 

Postado

@washalbano obrigada pela sugestão!!! Quando estou executando ela está dando o seguinte erro:

    Fatal error: Uncaught Error: Call to undefined function fn() in       /homepages/10/d586858977/htdocs/phponline.com/index.php(99) : eval()'d code:26 Stack trace: #0  /homepages/10/d586858977/htdocs/phponline.com/index.php(99): eval() #1 {main} thrown  in /homepages/10/d586858977/htdocs/phponline.com/index.php(99) : eval()'d code on line 26

 

Você sabe por que?

Desculpe é que comecei PHP agora!

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!