DESAFIO 32

[Da OBI, 2019, nível 1, fase 1] Dona Mônica é mãe de três filhos que têm idades diferentes. Ela notou que, neste ano, a soma das idades dos seus três filhos é igual à idade dela. Neste problema, dada a idade de dona Mônica e as idades de dois dos filhos, seu programa deve computar e imprimir a idade do filho mais velho.
Por exemplo, se sabemos que dona Mônica tem 52 anos e as idades conhecidas de dois dos filhos são 14 e 18 anos, então a idade do outro filho, que não era conhecida, tem que ser 20 anos, pois a soma das três idades tem que ser 52. Portanto, a idade do filho mais velho é 20 . Em mais um exemplo, se dona Mônica tem 47 anos e as idades de dois dos filhos são 21 e 9 anos, então o outro filho tem que ter 17 anos e, portanto, a idade do filho mais velho é 21.
Entrada: a primeira linha da entrada contém um inteiro M representando a idade de dona Mônica. A segunda linha da entrada contém um inteiro A representando a idade de um dos filhos. A terceira linha da entrada contém um inteiro B representando a idade de outro filho.
Saída: seu programa deve imprimir uma linha, contendo um número inteiro, representando a idade do filho mais velho de dona Mônica.
Restrições: 40 \leq M \leq 110,1 \leq A<M, 1 \leq B<M, A \neq B
Exemplos: Entrada 521418 Saída 20

Passo 1

O enunciado nos dá as seguintes informações e pede uma coisa simples de enunciar:
  • Idade de dona Mônica: M.
  • Idade de um dos filhos: A.
  • Idade de outro filho: B.
  • Sabemos que a soma das idades dos três filhos é igual à idade de dona Mônica.
  • Queremos imprimir a idade do filho mais velho (ou seja, a maior entre as três idades dos filhos).
No exemplo dado na própria declaração temos os valores (peguei esses números do enunciado): M=52, A=14 e B=18.
Condições relevantes (fornecidas pelo enunciado): 40 \le M \le 110, 1 \le A < M, 1 \le B < M e A \neq B.

Passo 2

Entendimento da relação que resolve o problema: como a soma das idades dos três filhos é igual à idade de dona Mônica, se chamarmos a idade do terceiro filho de C, então vale a igualdade
M = A + B + C.
Essa é a equação que conecta as quatro variáveis. Pelo enunciado queremos achar o filho mais velho, isto é, o maior entre A, B e C.

Passo 3

Isolando C na equação acima temos a fórmula direta para calcular a idade do filho desconhecido:
C = M - A - B.
Explicando passo a passo: subtrai-se de M primeiro A e depois B (a ordem das subtrações não altera o resultado final, pois subtração sequencial é associativa nesse contexto).

Passo 4

Vou aplicar a fórmula ao exemplo numérico do enunciado (peguei os números do enunciado: M=52, A=14, B=18):
Calcule primeiro M - A:
52 - 14 = 38.
Agora calcule 38 - 18:
38 - 18 = 20.
Portanto, pelo cálculo, C = 20.

Passo 5

Agora precisamos descobrir qual é o filho mais velho, ou seja, qual é o maior entre A, B e C. Uma maneira sistemática (que dá para fazer rápido numa prova) é comparar par a par:
  • Compare A e B: com A=14 e B=18, temos 18>14, então por enquanto o maior entre esses dois é B.
  • Compare esse maior ( B=18) com C=20: temos 20>18, então o maior entre os três é C.
Em notação compacta usamos a função máximo:
\max(A,B,C) = \max\big(A,\max(B,C)\big).
Aplicando aos números:
\max(14,18,20)=20.

Passo 6

Verificação rápida das condições: C=20 é menor que M=52 (o que faz sentido para idade de filho), e C é diferente de A e de B conforme a restrição de idades distintas do enunciado. Tudo consistente.

Passo 7

Resumo do algoritmo que você pode usar na prova (sem calculadora complicada):
  1. Leia M, A, B.
  2. Calcule C = M - A - B (faça duas subtrações simples).
  3. Compare A, B e C para achar o maior (duas comparações bastam).
  4. Imprima esse maior.

Resposta

20

Exercícios relacionados