#include <stdio.h>
int tob (int b, int* arr);
int pp(int a, int b);
int tob (int b, int* arr) {
int i;
for (i = 0; b>0; ++i) {
if (b%2) arr [i] = 1;
else arr[i] = 0;
b = b/2;
}
printf("value of i after iteration =%d",i
); return (i);
}
int pp(int a, int b) {
int arr[20];
int i, tot = 1, ex, len;
ex = a;
len = tob(b, arr);
for (i=0; i<len ; i++) {
if (arr[i] ==1)
tot = tot * ex;
ex= ex*ex;
}
return (tot) ;
}
int main()
{
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgdG9iIChpbnQgYiwgaW50KiBhcnIpOwppbnQgcHAoaW50IGEsIGludCBiKTsKCmludCB0b2IgKGludCBiLCBpbnQqIGFycikgewoJaW50IGk7Cglmb3IgKGkgPSAwOyBiPjA7ICsraSkgewoJCWlmIChiJTIpIGFyciBbaV0gPSAxOwoJCWVsc2UJIGFycltpXSA9IDA7CgkJYiA9IGIvMjsKCQlwcmludGYoInZhbHVlIG9mIGkgPSVkXG4iLGkpOwoJfQpwcmludGYoInZhbHVlIG9mIGkgYWZ0ZXIgaXRlcmF0aW9uID0lZCIsaSk7CnByaW50ZigiXG4iKTsKCXJldHVybiAoaSk7Cn0KCgppbnQgcHAoaW50IGEsIGludCBiKSB7CglpbnQgYXJyWzIwXTsKCWludCBpLCB0b3QgPSAxLCBleCwgbGVuOwoJZXggPSBhOwoJbGVuID0gdG9iKGIsIGFycik7CglwcmludGYoIlxuIik7CglwcmludGYoImxlbmd0aD0lZFxuIixsZW4pOwoJZm9yIChpPTA7IGk8bGVuIDsgaSsrKSB7CgkJaWYgKGFycltpXSA9PTEpCgkJCXRvdCA9IHRvdCAqIGV4OwoJCWV4PSBleCpleDsKCX0KcmV0dXJuICh0b3QpIDsKfQoKCmludCBtYWluKCkKewoJCnByaW50ZigiJWRcbiIsIHBwKDMsIDQpKTsKcmV0dXJuIDA7Cn0K