Faça um programa que solicite dois números inteiros A e B , com
. Usando for, imprima todos os números entre A e B que sejam múltiplos de 3.
Ao final, mostre quantos múltiplos de 3 foram encontrados. Caso nenhum número seja encontrado, mostre:
Nenhum múltiplo de 3 encontrado no intervalo.
Nenhum múltiplo de 3 encontrado no intervalo.Passo 1
O enunciado pede um programa que:
- Solicite dois números inteiros
e com . - Usando um laço do tipo for, imprima todos os números entre
e que sejam múltiplos de . - Ao final, mostre quantos múltiplos de
foram encontrados. - Se nenhum múltiplo for encontrado, mostrar exatamente a mensagem:
Nenhum múltiplo de 3 encontrado no intervalo.
Observação de interpretação: aqui vou considerar que “entre
e
” inclui os extremos, ou seja, o programa deve testar todos os inteiros
tais que
.
Passo 2
Ideia geral do algoritmo (visão passo a passo):
- Ler
e do usuário e garantir que . Se não for, pedir novamente até o usuário inserir valores válidos. - Inicializar um contador para contar quantos múltiplos de
foram encontrados (por exemplo, ). - Fazer um laço for que percorra todos os inteiros de
até (inclusive). - Para cada inteiro
no laço, testar se ele é múltiplo de . Se for, imprimir e incrementar . - Depois do laço, se
imprimir a mensagem indicada; caso contrário, imprimir a quantidade encontrada.
Passo 3
Explicando o teste de “múltiplo de
” de forma bem prática:
- Um inteiro
é múltiplo de quando o resto da divisão de por é zero. - Em notação:
é múltiplo de sse . - Exemplos numéricos:
(logo é múltiplo), (logo não é múltiplo).
No Python (ou em muitas linguagens), esse teste é feito com o operador do resto: em Python escreve-se
. Aqui estou só mostrando a ideia; o código completo vem no final.
Passo 4
Detalhes sobre o laço for e o intervalo:
- Em Python a função
gera inteiros começando em até . Para percorrer inclusive usamos . - Portanto, para testar todos os inteiros
usamos .
Passo 5
Validação de entrada:
- É comum o usuário digitar valores que não obedecem
ou digitar algo que não é inteiro. - Estratégia segura: ler os valores como inteiros (tratando erro se necessário) e, se
, solicitar novamente até que a condição seja satisfeita. - Isso evita comportamento indefinido e garante que o laço for seja executado corretamente.
Passo 6
Formas de imprimir os resultados:
- Para cada múltiplo encontrado é aceitável imprimir cada número em uma linha separada (simples e claro).
- Ao final, se o contador for maior que zero, imprimir a quantidade encontrada em uma frase curta (por exemplo:
). - Se o contador for zero, imprimir exatamente:
Nenhum múltiplo de 3 encontrado no intervalo.
Passo 7
Boas práticas que usei no programa final:
- Tratamento de erro simples para garantir que a entrada seja um inteiro válido.
- Repetir a leitura de
e enquanto . - Uso de um laço for com
para cobrir os extremos. - Contagem explícita dos múltiplos para decidir a mensagem final.
Passo 8
Exemplo rápido (fluxo esperado):
- Usuário digita
, . - Números testados:
. - Impressão de múltiplos de
: (cada um em sua linha). - Impressão final:
(ou outra frase equivalente); se nenhum encontrado, imprime a mensagem exata pedida.
Resposta
def ler_int(msg):
while True:
try:
return int(input(msg))
except ValueError:
print("Entrada inválida. Digite um número inteiro.")
# Ler A e B garantindo A < B
A = ler_int("Digite o valor de A (inteiro): ")
B = ler_int("Digite o valor de B (inteiro): ")
while A >= B:
print("Os valores devem satisfazer A < B. Digite novamente.")
A = ler_int("Digite o valor de A (inteiro): ")
B = ler_int("Digite o valor de B (inteiro): ")
contador = 0
for n in range(A, B + 1):
if n % 3 == 0:
print(n)
contador += 1
if contador == 0:
print("Nenhum múltiplo de 3 encontrado no intervalo.")
else:
print(f"{contador} múltiplo(s) de 3 encontrado(s) no intervalo.")