import java.util.Scanner;
class recursion {
public static void main
(String args
[]) { Scanner scanner
= new Scanner
(System.
in); int base = 0;
int expo = 0;
System.
out.
print("Enter number for base "); base = scanner.nextInt();
System.
out.
print("Enter number for exponent "); expo = scanner.nextInt();
do
System.
out.
println(base
+ "^" + expo
+ " = " + pow
(base, expo
)); while (expo-- > 1);
}
public static int pow(int x, int p) {
if (p == 0)
return 1;
if (p % 2 == 0) {
int a = pow(x, (p / 2));
return a * a;
} else {
int a = pow(x, ((p - 1) / 2));
return x * a * a;
}
}
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKY2xhc3MgcmVjdXJzaW9uIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZyBhcmdzW10pIHsKICAgICAgICBTY2FubmVyIHNjYW5uZXIgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBiYXNlID0gMDsKICAgICAgICBpbnQgZXhwbyA9IDA7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnQoIkVudGVyIG51bWJlciBmb3IgYmFzZSAiKTsKICAgICAgICBiYXNlID0gc2Nhbm5lci5uZXh0SW50KCk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnQoIkVudGVyIG51bWJlciBmb3IgZXhwb25lbnQgIik7CiAgICAgICAgZXhwbyA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgIAogICAgICAgIGRvCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihiYXNlICsgIl4iICsgZXhwbyArICIgPSAiICsgcG93KGJhc2UsIGV4cG8pKTsKICAgICAgICB3aGlsZSAoZXhwby0tID4gMSk7CiAgICB9CgoKICAgIHB1YmxpYyBzdGF0aWMgaW50IHBvdyhpbnQgeCwgaW50IHApIHsKICAgICAgICBpZiAocCA9PSAwKQogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICBpZiAocCAlIDIgPT0gMCkgewogICAgICAgICAgICBpbnQgYSA9IHBvdyh4LCAocCAvIDIpKTsKICAgICAgICAgICAgcmV0dXJuICBhICogYTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbnQgYSA9IHBvdyh4LCAoKHAgLSAxKSAvIDIpKTsKICAgICAgICAgICAgcmV0dXJuIHggKiBhICogYTsKICAgICAgICB9CgogICAgfQp9