Bóson Treinamentos em Ciência e Tecnologia

Algoritmo para verificar se número é quadrado perfeito

Algoritmo para verificar se um número é um quadrado perfeito em Python

O que é um quadrado perfeito

Um quadrado perfeito é um número inteiro que pode ser expresso como o quadrado exato de outro número inteiro. Em outras palavras, é um número que pode ser obtido multiplicando um número por si mesmo.
 
Por exemplo, 4 é um quadrado perfeito porque pode ser obtido multiplicando 2 por 2 (2 * 2 = 4). Da mesma forma, 9 é um quadrado perfeito porque pode ser obtido multiplicando 3 por 3 (3 * 3 = 9).
 
Já números como 6, 13 ou 21 não são quadrados perfeitos, pois não podem ser expressos como o quadrado exato de um número inteiro.
 

Algoritmo para verificar se um número é um quadrado perfeito

Podemos verificar se um número é um quadrado perfeito como os seguintes passos:
  1. Calculamos a raiz quadrada do número n fornecido.
  2. Eliminamos a parte decimal da raiz calculada.
  3. Multiplicamos a parte inteira que restou por ela própria.
  4. Comparamos o resultado dessa multiplicação com o valor n original.
  5. Se os valores forem idênticos, o número é um quadrado perfeito; caso contrário, não o é.
Vamos representar esses passos criando algoritmos: primeiramente um código usando português estruturado e, na sequência, o mesmo algoritmo em Python.
 

Algoritmo em Português Estruturado

Como verificar se um número é um quadrado perfeito usando o Portugol Studio:
 
programa
{
inclua biblioteca Matematica --> m
inclua biblioteca Tipos --> t

real n
inteiro raiz 

funcao inicio()
{
  escreva("Verificar se número é quadrado perfeito")
  escreva("\nDigite um número qualquer, positivo: ")
  leia(n)

  se(quadradoPerfeito(n)){
      escreva(n + " é quadrado perfeito.")
  }
  senao {
      escreva(n + " não é quadrado perfeito.")
  }
}

funcao logico quadradoPerfeito(real x) {
  raiz = t.real_para_inteiro(m.raiz(x, 2.0))
  retorne raiz * raiz == x
}
}

Algoritmo em Python

Como verificar se um número é um quadrado perfeito usando a linguagem Python
 
Código:
 
import math

# Função que retorna true se n for quadrado perfeito, e false se não for.
def quadradoPerfeito(x):
    raiz = int(math.sqrt(x))
    return raiz*raiz == x

if __name__=='__main__':
    print("Verificar se número é quadrado perfeito")
    n = float(input('Digite um número qualquer, positivo: '))
    if(quadradoPerfeito(n)):
        print(f"{n} é quadrado perfeito.")
    else:
        print(f"{n} não é quadrado perfeito.")
 
 
É isso aí! No próximo tutorial veremos um uso bem interessante do cálculo de quadrados perfeitos: verificar se um número pertence à sequência de Fibonacci ou não.
 
Sair da versão mobile