Crie um algoritmo e um programa para descobrir os 100 primeiros naturais que possuam raízes quadradas inteiras

raiz quadrada

Fala galera da programação, tudo beleza?

No exercício de hoje vamos treinar laços de repetição. Vamos descobrir a lista dos cem primeiros números que possuem raízes naturais inteiras.

Para treinar mais, vamos resolver o exercício sem o uso da função Sqrt.

 

Exemplo de Portugol – Portugol Studio

/*

Criado pelo professor Giovani Da Cruz

*/

programa
{
    
    funcao inicio()
    {
         inteiro numero, contador, raiz 

          contador = 0
          numero = 1
        
          escreva("Os primeiros 100 naturais com raizes quadradas inteiras são:")
        
          enquanto (contador < 100) 
          {
            raiz = 0
        
            enquanto (raiz * raiz < numero) 
            {
              raiz = raiz + 1
            }
            
            se (raiz * raiz == numero) 
            {
              escreva(numero + "\n")
              contador = contador + 1
            }
        
            numero = numero + 1
          }
         
    }

    
}

 

Exemplo em Pascal – Lazarus / Delphi

(*

Programa criado pelo professor Giovani Da Cruz

*)

program RaizesQuadradasInteirasSemSqrt;

var
  numero, contador, raiz: integer;

begin
  contador := 0;
  numero := 1;

  writeln('Os primeiros 100 naturais com raízes quadradas inteiras são:');

  while contador < 100 do
  begin
    raiz := 0;

    while raiz * raiz < numero do
      raiz := raiz + 1;

    if raiz * raiz = numero then
    begin
      writeln(numero);
      contador := contador + 1;
    end;

    numero := numero + 1;
  end;

  readln;
end.

Explicação

Este programa em Pascal busca e imprime os primeiros 100 números naturais que possuem raízes quadradas inteiras. Aqui está uma explicação mais detalhada do código:

  1. Declaração de Variáveis:
    • numero: Armazena o número atual em verificação.
    • contador: Conta quantos números com raízes quadradas inteiras foram encontrados.
    • raiz: Armazena a raiz quadrada atual sendo verificada.
  2. Inicialização de Contadores e Número:
    • contador é iniciado em 0, pois ainda não foram encontrados números.
    • numero é iniciado em 1, começando a busca a partir do primeiro número natural.
  3. Saída Inicial:
    • Imprime uma mensagem informando sobre a saída que será gerada.
  4. Laço Principal:
    • Continua até encontrar 100 números com raízes quadradas inteiras.
  5. Laço Interno para Encontrar Raiz Quadrada Inteira:
    • Continua até que a raiz quadrada ao quadrado seja maior ou igual ao número atual.
  6. Verificação e Impressão:
    • Se a raiz quadrada ao quadrado é igual ao número, imprime o número e incrementa o contador.
  7. Incremento e Próximo Número:
    • Incrementa o número atual para verificar o próximo.
  8. Fim do Programa:
    • Aguarda a leitura de uma linha antes de encerrar o programa.

O programa continua a busca até encontrar 100 números com raízes quadradas inteiras e, em seguida, termina, exibindo esses números como resultado final.

 

Exemplo em C++

/******************************************************************************

Criado pelo professor Giovani Da Cruz

*******************************************************************************/
#include <iostream>

int main() {
    int numero = 1;
    int contador = 0;
    int raiz;

    std::cout << "Os primeiros 100 naturais com raizes quadradas inteiras sao:\n";

    while (contador < 100) {
        raiz = 0;

        while (raiz * raiz < numero)
            raiz = raiz + 1;

        if (raiz * raiz == numero) {
            std::cout << numero << std::endl;
            contador = contador + 1;
        }

        numero = numero + 1;
    }

    return 0;
}

Nesta versão em C++, utilizei a biblioteca <iostream> para entrada/saída e substituí writeln por std::cout para imprimir na tela. Além disso, utilizei std::endl para inserir uma quebra de linha. O readln foi substituído por return 0 para encerrar o programa.

 

Exemplo em Python

'''

Criado pelo professor Giovani Da Cruz

'''
numero = 1
contador = 0

print("Os primeiros 100 naturais com raizes quadradas inteiras são:")

while contador < 100:
    raiz = 0

    while raiz * raiz < numero:
        raiz = raiz + 1

    if raiz * raiz == numero:
        print(numero)
        contador = contador + 1

    numero = numero + 1

 

 

Beleza pessoal?

 

Dúvidas ou sugestões de outras linguagens? Deixe o seu comentário!

 

Um abraço e até o próximo post. Valeu!

  • Publicado por Giovani Da Cruz
  • 16 views
  • 0 comentarios
  • 28 de novembro de 2023

 

Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Algoritmos com Laços

Continue aprendendo

Aumente o seu conhecimento
Crie um algoritmo e um programa que leia 5 números e escreva o maior e o menor desses 5 números, nessa ordem.
29 de abril de 2024
Crie um algoritmo e um programa que leia 5 números e informe o maior número
10 de abril de 2024
Crie um algoritmo e um programa que solicite ao usuário digitar seis números inteiros. O programa deverá somar os valores pares informados e mostrar o resultado desta soma na tela.
18 de fevereiro de 2024
Crie um algoritmo e um programa em que solicite ao usuário digitar sete números inteiros. O programa deverá contar e mostrar na tela a quantidade de valores ímpares informados.
15 de fevereiro de 2024
Crie um algoritmo e um programa que leia 5 números e mostre o maior e o menor.
5 de fevereiro de 2024
Crie um programa e um algoritmo para listar os 1000 primeiros números primos.
23 de janeiro de 2024
Crie um programa e um algoritmo para listar os 4 primeiros números perfeitos.
19 de janeiro de 2024
Crie um programa e um algoritmo para listar os 1000 primeiros números felizes.
4 de dezembro de 2023
Exercício de algoritmo: Sequência de Fibonacci
24 de novembro de 2023
Exemplo de como simular uma barra de progresso em modo console
15 de novembro de 2023