x^Nの時間複雑度(logn)を計算するアルゴリズム


/*  x^N       O(logN)   */
#include 			//C       

double Pow(double x, int n);	//C      

int main(int argc, char const *argv[])	//C     
{
	int n = 0;
	double x = 0;

	/*        */
	printf("Please enter a real number as x:");
	scanf("%lf", &x);
	printf("Please enter a positive integer as n:");
	scanf("%d", &n);
	/*       */
	printf("%lf^%d = %lf
", x, n, Pow(x, n)); while(1) getchar(); // , , 。 return 0; } double Pow(double x, int n) // { double ret = 0; // , ret if (x != 0) // x 0, { ret = 1; while(n > 0) // n 0 , { if (n % 2 == 0) // n { x *= x; n /= 2; } else // n { ret *= x; n -= 1; } } } return ret; // }

###*プログラムを実行し、xとnをそれぞれ入力すると、x^nの結果が得られます.