@iwktd981220
2017-09-23T04:15:25.000000Z
字数 518
阅读 459
别人的code
int qPow(int A, int n)
{
if (n == 0) return 1;
int rslt = 1;
while (n)
{
if (n & 1) //如果n为奇数
{
rslt *= A;
}
A *= A;
n >>= 1;
}
return rslt;
}
#include <stdio.h>
#include <stdlib.h>
int two(int a,int k) {
int d=1;
while (k>0) {
d=d*d;
if (k%2) {
d = d*a;
}
k = k/2;
}
return d;
}
int main() {
int a = 2,k = 9;
int i = two(a,k);
printf("%i\n", i);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int power(int n,int i,int sum) {
if (i == 1) {
return n;
}
else {
if (i % 2 == 1 ) {
for (int m = 1 ; m < i; i++) {
sum *=n;
}
}
else {
sum = n *n;
i = i/2;
while (i != 1) {
sum= sum*sum;
i = i/2;
}
}
}
return sum;
}
int main() {
printf("%i\n", power(3,3,1));
return 0;
}