您的位置:首页 > 其它

大数相乘

2014-06-26 20:30 253 查看
#include<iostream>
#include<stdlib.h>
#include<string.h>
void multiply(char *a,char *b);
int main(void)
{
char a[100],b[100];
std::cin>>a>>b;
multiply(a,b);
}
void multiply(char *a,char *b)
{
int i,len=strlen(a)+strlen(b);
int *c=new int[len];
for(i=0;i<len;i++)
c[i] =0;
for(i=0;i<strlen(a);i++)
for(int j=0;j<strlen(b);j++)
{
c[i+j+1]+=(a[i]-'0')*(b[j]-'0');
}

for(i=len-1;i>=0;i--)
{
if(c[i]>=10)
{
c[i-1]+=c[i]/10;
c[i]=c[i]%10;
}
}
i=0;
while(c[i]==0)
{
i++;
}
while(i<len)
{
printf("%d",c[i]);
i++;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: