Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Como testar se um número é potência de quatro usando C - Exercícios Resolvidos de CQuantidade de visualizações: 948 vezes |
|
Pergunta/Tarefa: Escreva um programa C contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de quatro. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 não é potência de quatro Informe um valor inteiro: 64 O valor 64 é potência de quatro Informe um valor inteiro: 16 O valor 16 é potência de quatro Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função que recebe um número inteiro e informe se ele é
// potência de quatro
int is_potencia_quatro(int n){
// enquanto o módulo do número por quatro for igual a zero
while (n % 4 == 0){
// número recebe ele mesmo dividido por quatro
n = n / 4;
}
// returna verdadeiro se número for igual a 1
return n == 1;
}
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 é potência de quatro
if(is_potencia_quatro(valor)){
printf("O valor %d é potência de quatro", valor);
}
else{
printf("O valor %d não é potência de quatro", 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





