என்னைப் பற்றி

My photo
Bangalore, Karnataka, India

Monday, May 31, 2010

Finding if a number is an interger power of another number without using any loop (C program).

Below program can be used to find if a number is an integer power of another number without using any loop.

#include < stdio.h >;
#include < math.h >;

int main ()
{
int base = 0;
int number = 0;
long log = 0;
double check = 0;
double number1 = 0;
printf("Please Enter the number to check\n");
scanf("%d", &number);
printf("Please Enter the base number\n");
scanf("%d", &base);
number1 = log10((double)number) / log10((double)base);
log = (long) number1;
check = number1 - (double)log;
if(check == 0)
{
printf("Number %d is an integer power of %d\n", number, base);
}
else
{
printf("Number %d is not an integer power of %d\n", number, base);
}
return 0;
}

Please let me know if you find an optimized logic to do this...

No comments: