1. Dadas as datas de aniversário de um casal, diz-se que o casal é perfeito se o número mágico dos dois é igual. O número mágico é obtido por somar-se repetidamente os dígitos da data de aniversário dos indivíduos no formato ddmmaaaa até que esse número permaneça com um único digito. Faça um programa que verifique se um casal é perfeito ou não, dados as datas de nascimento do casal no formato ddmmaaaa.
    Exemplo: niver1 = 19011981 ( 1+9+0+1+1+9+8+1=30=3+0=3 ) e niver2 = 20021970 (2+0+0+2+1+9+7+0=30=3+0=3), logo este casal é perfeito.

Passo 1

O enunciado pede para verificar se um casal é perfeito, isto é, se o “número mágico” das duas datas de nascimento no formato ddmmaaaa é o mesmo. O conteúdo é o cálculo do “digital root” (raiz digital) de um número: somar repetidamente seus dígitos até obter um único dígito.

Passo 2

Definimos a função matemática que calcula o número mágico de um inteiro
onde . Na prática, repetimos: somamos todos os dígitos de , substituímos por essa soma e repetimos até .

Passo 3

Vamos agora montar um pseudocódigo que lê as duas datas, aplica a função magic em cada uma e compara os resultados.

Passo 4

Se os dois números mágicos forem iguais, exibimos “Casal perfeito”; caso contrário, exibimos “Nao perfeito”.

Resposta

função magic(n):
enquanto n >= 10:
soma \leftarrow 0
para cada dígito d de n:
soma \leftarrow soma + d
n soma
retorne n
leia niver1, niver2
m1 magic(niver1)
m2 magic(niver2)
se m1 = m2 então
escreva “Casal perfeito”
senão
escreva “Nao perfeito”

Exercícios relacionados