Pessoal, estou em dúvida sobre a lógica a usar para para o seguinte desafio:
- Escrever um script PHP que imprima todos os números inteiros de 1 a 100. Entre cada número, imprima os números dos quais cada um é multiplo (entre colchetes e separados por vírgula), e caso o número seja multiplo somente de si mesmo, imprima "[PRIME]". (A resposta deve ser devolvida em JSON no endpoint /)
Até agora, consegui resolver a segunda parte do desafio, (retornando [PRIME] para os números primos, mas não sei como implementar a primeira parte. segue codigo abaixo (estou usando o symfony)
public function index(): Response
{
$primes = [];
$multipleList = [];
$aux = [];
$number = 2 ;
while ($number < 100)
{
$div_count=0;
for ( $i=1;$i<=$number;$i++)
{
if (($number % $i) == 0)
{
//a lógica de um array auxiliar com o indice $i, que contém a lista de múltiplos deveria vir aqui, eu acho, mas nao estou sabendo implementar.
$div_count++;
}
}
if ($div_count<3)
{
$primes = array_fill(0, $number, "[PRIME]");
}
$number++;
}
for($i=0;$i<=100;$i++) {
if(!in_array($i, $primes)) {
$multipleList[] = $i;
//essa parte é somente para pegar os numeros que não são primos.
}
}
return new JsonResponse(['PRIME NUMBERS' => $primes,]);
}