标签:x的n次方
最近看到这样的一个题目求X的N次方,自己想了一些解决办法,记录一下留作日后参考。
求X的N次方,首先暴力求解:
int exp(int x, int n) { int ret = 1; for(int i = 0; i < n; i++) { ret *= x; } return ret; }
int exp(int x, int n) { int ret = 1; if(n == 0) return ret; int k = n; while(k != 0) { if((k & 0x1) != 0) ret *= x; x *= x; k >>= 1; } return ret; }
int exp(int x, int n) { if(n == 0) return 1; if(n == 1) { return x; } else { int s; int m = n / 2; s = exp(x, m); if(m % 2 == 0) { return s * s; } else { return s * s * x; } } }
标签:x的n次方
原文地址:http://blog.csdn.net/wdxin1322/article/details/39668679