Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Como testar se um número é potência de outro número em C - Exercícios Resolvidos de CQuantidade de visualizações: 1130 vezes |
|
Pergunta/Tarefa: Escreva um programa C contendo um método chamado testar_potencia() que recebe dois números inteiros e informa se o primeiro número é potência do segundo número. Por exemplo: 27 é potência de 3, pois 3 x 3 x 3 = 27. Sua saída deverá ser parecida com: Informe o primeiro inteiro: 125 Informe o segundo inteiro: 5 O número 125 é potência do número 5 Informe o primeiro inteiro: 27 Informe o segundo inteiro: 3 O número 27 é potência do número 3 Informe o primeiro inteiro: 12 Informe o segundo inteiro: 4 O número 12 não é potência do número 4 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// método que recebe dois inteiros a e b e informa se a é potência de b
int testar_potencia(int a, int b){
// enquanto a módulo b for igual a 0
while(a % b == 0){
// a recebe ele mesmo dividido por b
// a divisão deve ser por inteiros
a = (int)(a / b);
}
// retorna verdadeiro se a for igual a 1
return a == 1;
}
int main(int argc, char *argv[]){
// variáveis usadas para resolver o problema
int n1, n2;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar dois valore inteiros
printf("Informe o primeiro inteiro: ");
scanf("%d", &n1);
printf("Informe o segundo inteiro: ");
scanf("%d", &n2);
// vamos testar o primeiro número é potência do segundo
if(testar_potencia(n1, n2)){
printf("O número %d é potência do número %d", n1, n2);
}
else{
printf("O número %d não é potência do número %d", n1, n2);
}
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 |






