大数幂运算

/*--------------------------------------------------------------------------
*函数名称: 大数幂
*函数想法:1 B自减1直到,,作为循环控制变量.保存结果;
* 2 结果初值1 每次乘以A
* 3 重复1、2步骤到结束.
*入口参数:numa,numb,result字符串
*出口参数:无
*--------------------------------------------------------------------------*/
void power (char *numa, char *numb,char *result) //计算幂
{ char one[]="1"; //临时字符串....
char one2[]="1";
char zero[]="0";
char numb2[6048];
char remainder[6048];
strcpy(result,one); //给结果初值为1
strcpy(numb2,numb);

subtract(numb,one ,remainder); //B自减1
strcpy(numb,numb2);

strcpy(numb2,numb);
multiply(result,numa,result ); //A自己乘自己
strcpy(numb,numb2);

while(strcmp(remainder,zero)>0) //A大于相等B时 就是numb不等于0时
{
strcpy(numb2,numb);
multiply(result,numa,result ); //A自己乘自己
strcpy(numb,numb2);
strcpy(one,one2);
subtract(remainder,one ,remainder); //B减一
}

return ;
}

相关文档
最新文档