1: #include "stdio.h"
2:
3: unsigned long myPow(int m, int n)
4: { 5: unsigned long tmp;
6:
7: if(n == 0) return 1;
8:
9: if(n == 1) return m;
10:
11: if(n % 2 == 0) { 12: tmp = myPow(m, n / 2);
13: return tmp * tmp;
14: }
15:
16: if(n % 2 != 0)
17: return m * myPow(m, n - 1);
18: }
19:
20: int main()
21: { 22: int m, n;
23: printf("Please input the bottom number\n"); 24: scanf("%d", &m); /*输入底数m*/ 25: printf("Please input the exponent number\n"); 26: scanf("%d", &n); /*输入指数n*/ 27: printf("The result of power(m,n) is %ld\n", myPow(m, n)); /*输出计算结果mn*/ 28: return 0;
29: }