![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Como testar se um número é um quadrado perfeito em C - Solução usando sqrt() e floor() - Desafio de Programação Resolvido em CQuantidade de visualizações: 2032 vezes |
|
Pergunta/Tarefa: Escreva um programa C contendo uma função testar_quadrado_perfeito() que recebe um número inteiro e devolve um valor boolean informando se o número passado como argumento para a função é um quadrado perfeito. Seu código poderá usar qualquer técnica de resolução, porém, a solução apresentada por nós se apoia no uso das funções sqrt() e floor(). O que são os números quadrados perfeitos? A definição de um número quadrado perfeito pode ser entendida como: um número natural (inteiro positivo) cuja raiz quadrada é, também, um número natural (inteiro positivo). Em outras palavras, é um número que, ao extrair a raiz quadrada, o resultado é exato. Assim temos: 1, 4, 9, 16, 25, 36, 49, 64, 81, 100... Sua saída deverá ser parecida com: Informe um valor inteiro: 64 O número 64 é um quadrado perfeito Informe um valor inteiro: 28 O número 28 não é um quadrado perfeito Informe um valor inteiro: 16 O número 16 é um quadrado perfeito Veja a resolução comentada deste exercício usando C: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
// função que recebe um número e informa se ele é um
// número quadrado perfeito
int testar_quadrado_perfeito(int numero){
// primeiro calculamos a rais quadrada do número recebido
double raiz_quadrada = sqrt(numero);
// agora testamos se a raiz quadrada do número menos o arredondamento
// dele para baixo é igual a 0
return ((raiz_quadrada - floor(raiz_quadrada)) == 0);
}
int main(int argc, char *argv[]){
// variáveis usadas para
int valor;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar um valor inteiro
printf("Informe um valor inteiro: ");
scanf("%d", &valor);
// vamos testar se o número informado é um quadrado perfeito
if(testar_quadrado_perfeito(valor)){
printf("O número %d é um quadrado perfeito", valor);
}
else{
printf("O número %d não é um quadrado perfeito", valor);
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





