当前位置:首页 » 其他

大数除法 判断能否整除

2011-08-30 17:55 本站整理 浏览(3)

//数组是先存高位再往低位存的,如1011,a[0]=1,a[1]=0,a[2]=1,a[3]=1;

//a[]是被除数,n是除数

int divide(int a[],int l)

{

int q,p=0;

q=a[p++];

while(p<l) // l是数的位数

{

while(q<n) //取a[]的高位直到取出的数高于或等于n

{

q=q*10+a[p++];

if(p>=l)

break;

}

if(q>=n)

q%=n; //取余之后保存q留作后面运算

}

q%=n; //特殊情况如果位数为1

if(q==0)

return 1; //成功返回1

return 0;

}