Crie um programa que receba um número natural N e que exiba na tela a soma dos N primeiros números naturais. Por exemplo, se N=4, o programa deverá exibir 1+2+3+4=10.

Passo 1

O enunciado pede que a gente faça um programa que leia um número natural e mostre na tela a soma dos primeiros números naturais. Ex.: se , deve imprimir “1+2+3+4=10”.
Conteúdo: lógica de programação (entrada de dados, laço de repetição, acumulador) e, opcionalmente, fórmula de soma de progressão. Vamos precisar de:
  • Ler um valor inteiro
  • Um laço (for) para contar de 1 até
  • Uma variável acumuladora para somar
  • Montar a string “1+2+…+N=resultado”

Passo 2

Antes de codificar, entenda a teoria da soma dos primeiros naturais. A soma
sumi=1^N i ;=; N,(N+1)2
é uma progressão aritmética com primeiro termo , último termo e termos. A fórmula é
Isso já dá o resultado direto, mas como exercício de programação vamos somar “um a um” usando um for.

Passo 3

Agora, a ideia do loop:
  1. Inicializo uma variável
    soma = 0
    termos = ""
    
  2. Para cada de 1 até :
    • Adiciono na soma: soma += i
    • Concateno o termo numa string termos += str(i) + "+"
No final, soma tem o valor total, e termos fica algo como "1+2+3+4+". Aí só removo o último “+” e junto o resultado.

Passo 4

Vamos ver o código completo em Python, linha a linha, com comentários:
# Leitura do valor N
N = int(input("Digite um número natural N: "))  # converte a entrada para inteiro

# Inicializações
soma = 0            # vai acumular a soma de 1 a N
termos = ""         # vai construir a parte "1+2+...+N"

# Laço de repetição de 1 até N
for i in range(1, N+1):
    soma += i                    # soma = soma + i
    termos += str(i) + "+"      # vai gerando "1+", "1+2+", etc.

# Remove o '+' extra do final e imprime
termos = termos[:-1]             # tira o último caractere
print(f"{termos}={soma}")        # exibe, por exemplo, "1+2+3+4=10"
Explicando em miúdos:
  • input() pega o que o usuário digita como texto; int(...) transforma em número.
  • for i in range(1, N+1): roda i = 1, 2, ..., N.
  • soma += i vai acumulando.
  • termos += str(i) + "+" constrói a parte textual.
  • No fim, tiramos o “+” a mais e mostramos tudo numa única linha com f-string.

Resposta

N = int(input("Digite um número natural N: "))
soma = 0
termos = ""
for i in range(1, N+1):
    soma += i
    termos += str(i) + "+"
termos = termos[:-1]
print(f"{termos}={soma}")

Exercícios relacionados