返回任务 
稿件编号:1938370号
lw_2008
等    级:猪一戒
信用值:
能力值:
发布者已浏览     投稿时间:2008-05-21 13:45:23
12
 

 

 这是二元法的部分代码,其他代码已经发给你了。

unsigned power(unsigned a,unsigned b,unsigned long c)   /*二元法*/
{
 unsigned long z=1,t=a,i=0,j,p,s,q,data[3000]={0};


 do   /*把b转为二进制形式*/
{
j=b%2;
data=j;
b/=2;
i++;
}while(b);

 s=i;
 for(p=0;p<s;p++)/*二进制位倒序排列*/
 data[p]=data[s-1-p];
 for(q=0;q<s;q++)
 {
 if (data[p]==1)/*若第p位为1进行模乘运算*/
 z=(z*t)%c;
  t=(t*t)%c;/*模平方运算*/
  
 }

 return z;
 
 }


 

还没有人评论