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.
/* 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 } } }
(* 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:
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.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.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.
/****************************************************************************** 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.
''' 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!
Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!