Exercícios Resolvidos de Laços de repetição

Ver Teoria

Enunciado

Escreva um programa que determine todos os números de 4 algarismos que possam ser separados em dois números de dois algarismos que somados e elevando-se a soma ao quadrado obtenha-se o próprio número. Exemplo: 3025 = (30 + 25) = 55, e 55**2 = 3025 .

Passo 1

E aí, doido! Nesse exercício a gente precisa fazer uma verificação pra cada número entre 1000 e 10000.

Mas, pra nossa sorte, existem estruturas de repetição que podem fazer isso pra gente com tranquilidade.

Bora começar escrevendo a estrutura de repetição. Vamos usar o laço for, já que a gente sabe o intervalo de repetição (também dá pra fazer com o while, é só uma questão de escolha).

É importante sacar que o 10000 NÃO tá incluído, beleza?! A função range() inclui o menor valor, mas não inclui o maior. Show! Agora, a gente precisa digitar o código que faz a checagem que o enunciado diz. Vamo lá!

Passo 2

Só pra revisar, o que tá acontecendo no laço for é que a variável i que a gente criou na estrutura vai variar entre 1000 e 9999 (o 10000 não tá incluso). A variável i também poderia ter qualquer nome, a gente escolhe i só por comodidade, jae? hahaha show!

Agora, o enunciado tá falando pra gente somar os dois primeiros dígitos com os dois últimos. Pra isso, vamos separar o número i nos dois outros números pra gente conseguir somar. Bora dar uma segunda olhada no exemplo que tá no enunciado.

Se a gente dividir esse número por 100, vai ficar assim:

Beleza… Sacou que a gente conseguiu dividir o número no meio com a vírgula ali? Pra gente pegar os números à esquerda da vírgula, a gente só precisa pegar a divisão inteira. E, os dígitos da direita, a gente pega com o resto da divisão!

E assim a gente consegue separar o número grande no meio de forma matemática! Bora escrever essa lógica em Python, generalizando pra i.

Pronto! Agora, a gente tem o número i dividido em duas partes. Agora, precisamos verificar se a soma das partes ao quadrado é igual ao i.

Passo 3

Show! Agora que a gente tem as duas partes, bora montar nossa estrutura condicional, seguindo as regras que foram ditas no enunciado!

Foi! Caso a soma das partes ao quadrado seja igual a i, a estrutura vai ser executada. Dentro do if a gente coloca um print() mostrando o número i.

Show! Com esse código, todos os números que seguem as regras ditas no enunciado vão ser exibidos quando a gente executar o programa. Bora testar??

Opa! Depois de executar, o resultado foram esses três números e todos eles respeitam as regras do enunciado. SIGNIFICA QUE FUNCIONOUUUU!

Agora sim a gente finalizou o exercício! Te espero no próximo, doido!

Resposta