Escrever um programa para verificar se um dado valor inteiro não-negativo é um múltiplo de 3 ou de 7 , mas não de ambos.

Passo 1

Primeiro, entendendo o enunciado: a tarefa é criar um programa que receba um valor inteiro não-negativo e diga se ele é múltiplo de 3 ou de 7, mas não de ambos ao mesmo tempo. Esse problema envolve o uso do operador resto (módulo) e lógica booleana para testar as condições.

Passo 2

Para verificar se um número n é múltiplo de um divisor d, usamos o resto da divisão: se n bmod d = 0, então n é múltiplo de d. Vou aplicar isso para d = 3 e d = 7.
Defino duas variáveis lógicas: seja m3 = (n bmod 3 = 0) indicando múltiplo de 3, e m7 = (n bmod 7 = 0) indicando múltiplo de 7.

Passo 3

Como queremos múltiplo de 3 OU de 7, mas não de ambos, usamos a operação “ou exclusivo”:
(m3 wed>= neg m7) vee (m7 wed>= neg m3)
Em pseudo-código, isso fica: (m3 && !m7) || (m7 && !m3).

Passo 4

Agora é só montar o programa: ler o valor de n, calcular m3 e m7, aplicar a condição de ou exclusivo e imprimir o resultado.

Resposta

n = int(input("Digite um número inteiro não-negativo: "))
m3 = (n % 3 == 0)
m7 = (n % 7 == 0)
if (m3 and not m7) or (m7 and not m3):
print(“É múltiplo de 3 ou de 7, mas não de ambos.”)
else:
print(“Não atende à condição de ser múltiplo de 3 ou de 7, mas não de ambos.”)

Exercícios relacionados