#include<stdio.h>
#include<string.h>
int main()
{
char ra[1000];
int a[1000],b[1000],t[1000],t1,t2,i,j,k,ggg,gggg,god,god2=0;
scanf("%s",&ra);
t1=strlen(ra);
for(i=0;i<t1;i++)
a[i]=(int)ra[i]-48; //give me a
scanf("%s",&ra);
t2=strlen(ra);
for(i=0;i<t2;i++)
b[i]=(int)ra[i]-48; //give me b
t[0]=0;
for(;t2>0;t2--) //stop b change a
{
god2++; //oh my god
god=god2;
for(j=t1;j>0;j--) //a change
{
ggg=b[t2-1]*a[j-1];
if(ggg>=10)
{
if(t[god]<0)
t[god]=gggg=ggg/10; //up
else
t[god]+=gggg=ggg/10;
if(t[god-1]<0)
t[god-1]=ggg-gggg*10; //down--
else
t[god-1]+=ggg-gggg*10;
}
else if(t[god-1]<0) //stay
t[god-1]=ggg;
else
t[god-1]+=ggg;
god++;
}
}
k=0;
do //clear
{
if(t[k]>=10)
{
if(t[k+1]<0)
t[k+1]=ggg=t[k]/10;
else
t[k+1]+=ggg=t[k]/10;
t[k]-=ggg*10;
}
k++;
}
while(t[k]>=0); //out
for(k--;k>=0;k--)
printf("%d",t[k]);
return 0;
}
//核心
//#######################
for(i=0;i<q;i++)
{
for(j=0;j<p;j++){k[j+i]=k[j+i]+(a[j]*b[i]);}
for(o=0;o<=(p+q);o++)
{
if(k[o]>9){k[o+1]=k[o+1]+((k[o]-(k[o]%10))/10);k[o]=k[o]%10;}
}
o=0;
//########################
先把字串顛倒...
相成...然後把他取10的餘數..其餘往下一個陣列加!