Ed
há 4 semanas
Vamos analisar o programa e as alternativas passo a passo: 1. A função `aux` verifica se `n` é divisível por `c`. Se for divisível e `n` não for 2, retorna 0 (não primo). 2. Se `c` ultrapassar `n/2`, retorna 1 (primo). 3. Caso contrário, chama recursivamente `aux(n, c+1)` para testar o próximo divisor. 4. A função `ehPrimo` inicia a verificação a partir de 2. 5. No `main`, o programa lê um número e imprime se é primo ou não. Agora, as alternativas: A) "2 não é o único número par considerado primo; 0 também o é." - Incorreto. 0 não é primo. B) "Um valor muito alto informado em numero ocasiona um alto consumo de memória para determinar se é primo." - Correto. Como a função é recursiva e incrementa `c` até `n/2`, para números grandes a recursão será profunda, consumindo muita memória. C) "Os números serão incrementados para verificação da divisão até chegar ao valor informado pelo usuário." - Incorreto. A verificação vai até `n/2`, não até `n`. D) "O algoritmo resultará em erro, pois espera que o retorno da função ehPrimo() seja comparado com 1." - Incorreto. A comparação no `if` funciona corretamente com 0 (falso) e 1 (verdadeiro). E) "A recursividade é utilizada para percorrer todos os números primos em busca de um divisor para o valor especificado." - Incorreto. A recursão percorre todos os números inteiros a partir de 2, não apenas primos. Resposta correta: B) Um valor muito alto informado em numero ocasiona um alto consumo de memória para determinar se é primo.
Cadastre-se ou realize login
Mais perguntas desse material