Crie um programa que receba um número inteiro X>2 e que exiba na tela os X primeiros elementos da sequência de Fibonacci:
1,1,2,3,5,8,13,21,34, ldots

Passo 1

Beleza, o enunciado tá assim: a gente precisa criar um programa que receba um número inteiro X > 2 e mostre os X primeiros termos da sequência de Fibonacci, que é:
1, 1, 2, 3, 5, 8, 13, 21, 34, …
Conteúdo envolvido: laços de repetição (loop), variáveis temporárias e a definição de Fibonacci, que é dada pela relação de recorrência
F1 = 1, F2 = 1, Fn = Fn-1 + Fn-2;(n>=3)
O que vamos precisar:
  • Ler um inteiro X do usuário
  • Armazenar os dois primeiros termos (1 e 1)
  • Gerar cada termo seguinte somando os dois anteriores
  • Exibir os termos até atingir X

Passo 2

Antes de codar, vamos entender a teoria. A sequência de Fibonacci é definida assim:
Para n ≥ 3,
Fn = Fn-1 + Fn-2
Isso significa que cada termo é a soma dos dois anteriores. Pra implementar, a ideia é:
  1. Guardar F₁ e F₂ em variáveis, digamos a = 1 e b = 1.
  2. A cada passo, calcular c = a + b (que será F₃, depois F₄, etc.).
  3. Depois de calcular, “empurrar” as variáveis: a = b e b = c, pra sempre ter os dois últimos termos na mão.
  4. Repetir isso num loop até gerar X termos.

Passo 3

Bora traduzir isso em código Python, por exemplo:
# lê X e garante que é maior que 2
X = int(input("Digite um inteiro X > 2: "))

# termos iniciais
a = 1
b = 1

# lista pra guardar e já imprimir depois
fibo = [a, b]

# loop para gerar do 3º até o X-ésimo termo
for i in range(3, X+1):
    c = a + b        # aplica c = F_{n-1} + F_{n-2}
    fibo.append(c)   # anexa à lista
    a = b            # empurra: o anterior vira penúltimo
    b = c            # o atual vira último

# imprime todos os termos
print("Os", X, "primeiros termos de Fibonacci são:")
print(fibo)

Passo 4

Explicando rapidinho cada parte:
  • input() lê uma string; int() converte pra inteiro.
  • Começamos a = 1 e b = 1 porque F₁ e F₂ valem 1.
  • A lista fibo vai acumulando os termos pra a gente só chamar um print() no final.
  • O loop for i in range(3, X+1) roda exatamente X–2 vezes, gerando do terceiro até o X-ésimo termo.
  • Dentro do loop, c = a + b é a aplicação direta da fórmula Fn = Fn-1 + Fn-2.
  • Depois de gerar c, fazemos a = b e b = c pra preparar o próximo cálculo.
  • No fim, só exibimos a lista.

Resposta

X = int(input("Digite um inteiro X > 2: "))
a, b = 1, 1
fibo = [a, b]
for _ in range(3, X+1):
    c = a + b
    fibo.append(c)
    a, b = b, c
print("Os", X, "primeiros termos de Fibonacci são:")
print(fibo)

Exercícios relacionados