求x的n次方二分法用迭代算法怎么写程序?不用递归函数

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:35:11
就是把x的n次方当n是偶数时分解成x的n/2次方的平方,当n是奇数就分解成x的(n-1)/2次方的平方再乘以x
不要递归函数,只用循环

迭代和递归好像一样吧

int Do(int n)
{
int num = n%2;
int i;
switch(num)
{
case 1:
for(i = 0;i < (n-1)/2; i++)
{
x *= x;
} //x的(n-1)/2次方
x *= x; //x的平方
x *= x; //再乘以x
break;
case 0:
for(i = 0;i < n/2; i++)
{
x *= x;
} //x的n/2次方
x *= x; //x的平方
break;
}
return x;
}