大数相乘模板

大数相乘模板

代码如下:

#include
#include
#define MAX 100
char a[MAX],b[MAX];
int aa[10005],len;//aa[]保存相乘后的结果,len来相乘后的保存数据的长度 (正序) 
void Multplay(){
    int x[MAX+10]={0},y[MAX+10]={0},z[MAX*2+10]={0};	
	int len1,len2,i,j;
	len1=strlen(a);
		len2=strlen(b);
		
		for(j=0,i=len1-1;i>=0;i--)   //将a[]转换为整形数组 (逆序倒序储存)
			x[j++]=a[i]-'0';
		for(j=0,i=len2-1;i>=0;i--)   //将b[]转换为整形数组 (逆序倒序储存) 
			y[j++]=b[i]-'0';
			
			
		for(i=0;i=10)   
			{
				z[i+1]=z[i+1]+z[i]/10;   
				z[i]=z[i]%10;  
			}
		}
		
		for(i=MAX*2;i>0;i--)  
		{
			if(z[i]==0)
				continue;
			else
				break;
		}
		len=0;
		for(;i>=0;i--)  
		aa[len++]=z[i];
}
int main()
{ 
while(~scanf("%s%s",a,b))   
    {    
	memset(aa,0,sizeof(aa));
	Multplay();	
	for(int i=0;i

你可能感兴趣的:(大数)