Dúvida - calcular potência de um número introduzido pelo utilizador (base e expoente)

Olá.
Será que alguém pode ajudar?

public static void main(String[] args) { Scanner ler = new Scanner(System.in); double res=0; int i = 0, j = i + 1, num=0; System.out.println("Insira um número inteiro: "); num = ler.nextInt(); if (num == 1) { System.out.println("Base: " + num + "\n" + "Expoente: " + i + "\n" + "Número introduzido: " + num); } else { res = Double.valueOf(num).doubleValue(); while (res % 2 != 0 && res % 3 != 0) { i++; j++; res = Math.pow(num, i / j); } } System.out.println("Base: " + res + "\n" + "Expoente: " +i+"/"+j+ "\n" + "Número introduzido: " + num); } }

O programa não me dá nem a base nem o expoente… penso que o problema está no ciclo while().
Se eu inserir o nº 36 o output é este:

[quote]Insira um número inteiro:
36
Base: 36.0
Expoente: 0/1
Número introduzido: 36
[/quote]

Aceito sugestões. Obrigado pela ajuda :wink:
Cumprimentos

Pra fazer o que você quer tem que encontrar o minimo multiplo comum do numero dado e fazer a divisão por esse valor até que o quociente seja 1 e que o módulo do quociente pelo mmc seja 0 ( com isso o valor será a base de uma potencia ) ou que o resto da divisão do quociente pelo mmc seja diferente de 0 ( o que faz com que o numero seja divisivel apenas mas, não um numero base da potencia ).
ex.

81

analisando a divisão inteira por 3
81 / 3
27 / 3
9 / 3
3 / 3
1

Como foi possível dividir por 3 podemos concluir que 3 elevado a 4 igual a 81

No caso do 81 ele também pode ser 9 elevado a 2 porque

81 / 9
9 / 9
1