#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 =%d\n",i);
	}
printf("value of i after iteration =%d",i);
printf("\n");
	return (i);
}


int pp(int a, int b) {
	int arr[20];
	int i, tot = 1, ex, len;
	ex = a;
	len = tob(b, arr);
	printf("\n");
	printf("length=%d\n",len);
	for (i=0; i<len ; i++) {
		if (arr[i] ==1)
			tot = tot * ex;
		ex= ex*ex;
	}
return (tot) ;
}


int main()
{
	
printf("%d\n", pp(3, 4));
return 0;
}
