Crie um algoritmo se imprima os N primeiros números que sejam primos e façam parte da série de Fibonacci UTILIZANDO OBRIGATORIAMENTE FUNÇÕES.

Passo 1

Beleza! O exercício pede para criar um algoritmo que imprima os N primeiros números que são primos e fazem parte da série de Fibonacci, utilizando funções obrigatoriamente. Vamos precisar entender dois conceitos principais: números primos e a série de Fibonacci. Além disso, vamos usar funções em programação para organizar nosso código.

Passo 2

Primeiro, vamos relembrar o que são números primos. Um número primo é aquele que só é divisível por 1 e por ele mesmo. Por exemplo, 2, 3, 5, 7 são primos.

Passo 3

Agora, a série de Fibonacci é uma sequência onde cada número é a soma dos dois anteriores, começando por 0 e 1. Os primeiros termos são: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …

Passo 4

Precisamos de uma função para gerar os números da série de Fibonacci. Vamos criar uma função que retorna uma lista de Fibonacci até um certo limite.

Passo 5

Também precisamos de uma função para verificar se um número é primo. Essa função vai receber um número e retornar se ele é primo ou não.

Passo 6

Com essas duas funções prontas, vamos iterar pelos números da série de Fibonacci e, para cada número, verificar se ele é primo. Quando encontrarmos um número que satisfaz as duas condições, adicionamos à nossa lista de resultados.

Passo 7

Continuamos esse processo até termos encontrado os N primeiros números que são primos e fazem parte da série de Fibonacci.

Resposta

Aqui está um exemplo de como implementar esse algoritmo em Python utilizando funções:
def gerar_fibonacci():
    fibonacci = [0, 1]
    while True:
        proximo = fibonacci[-1] + fibonacci[-2]
        fibonacci.append(proximo)
        yield proximo

def eh_primo(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

def encontrar_primos_fibonacci(N):
    resultado = []
    fib = gerar_fibonacci()
    while len(resultado) < N:
        numero = next(fib)
        if eh_primo(numero):
            resultado.append(numero)
    return resultado

# Exemplo de uso:
N = 5
primos_fibonacci = encontrar_primos_fibonacci(N)
print(f"Os {N} primeiros números que são primos e da série de Fibonacci são: {primos_fibonacci}")
Explicação rápida:
  1. gerar_fibonacci() é um gerador que cria números da série de Fibonacci infinitamente.
  2. eh_primo(n) verifica se n é um número primo.
  3. encontrar_primos_fibonacci(N) usa as duas funções anteriores para encontrar os N primeiros números que são primos e fazem parte da série de Fibonacci.
  4. No exemplo de uso, estamos buscando os 5 primeiros números que satisfazem as condições e imprimindo o resultado.

Exercícios relacionados