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:
gerar_fibonacci()
é um gerador que cria números da série de Fibonacci infinitamente.eh_primo(n)
verifica sen
é um número primo.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.- No exemplo de uso, estamos buscando os 5 primeiros números que satisfazem as condições e imprimindo o resultado.
Exercícios relacionados
Crie um algoritmo que leia um número N e imprima os N primeiros números primos. O seu programa deve fazer o MíNIMO de interações possíveis.
Cálculo aproximado de
(Pi) pelo Método de Monte Carlo.
Dada a função
Dada a função
calcule o valor aproximado de
com
interações. Dicas: use random.random() * 2 para gerar valores entre 0 e 2 para as variáveis x e y e conte o número de pontos
que satisfazem a equação dada e divida o resultado por
. Cuidado com o tipo de dados.
Crie um algoritmo que leia um número decimal (com qualquer número de dígitos) e o converta para a base hexadecimal. A resposta deve ser dada em string.
Implemente o jogo Blackjack ou 21. No caso temos apenas dois jogadores, o cliente (humano) e a banca (computador). O ás pode valer 1 ou 11, de acordo com as cartas que o jogador possui. O valete (J), a dama (Q) e o rei (K) valem 10. A simulação da obtenção das cartas deve ser feita com o uso de números aleatórios (Dica: carta
random.randint( 1,13 ), isto é, variando de 1 a 13). Os números 11, 12 e 13 representam respectivamente J, Q e K. Não há a necessidade de representar um baralho real de 52 cartas. O cliente recebe inicialmente duas cartas aleatoriamente e decide se pede outra ou não, dependendo do somatório. Caso a soma das cartas seja maior que 21, o cliente perde. O cliente pode passar a vez para a banca (que não possui cartas no início do jogo), que, para vencer, terá que obter obrigatoriamente um número maior que o cliente e MENOR do que 21, caso contrário, o cliente ganha. O jogo tem apenas uma rodada. Informe quem ganhou ou se houve empate.