#include <stdio.h>
#include <math.h>
#include <string.h>
int StringMul(char *num1,char *num2)
{
char number1[30];
char number2[30];
strcpy(number1,num1);
strcpy(number2,num2);
int i1,i2;
int it;
int m;
int sum=0;
char *s;
char *d;
s=number1;
d=s;
while(*d++);
i1=d-s-1;
s=number2;
d=s;
while(*d++);
i2=d-s-1;
it=i1>i2?i1:i2;
m=i1>i2?it-i2:it-i1;
if(i2>i1)
{
for(int l=i1-1;l>=0;l--)
{
number1[l+m]=number1[l];
}
for(int l=0;l<m;l++)
{
number1[l]='0';
}
number1[i1+m]=0;
}
else
{
for(int l=i2-1;l>=0;l--)
{
number2[l+m]=number2[l];
}
for(int l=0;l<m;l++)
{
number2[l]='0';
}
number2[i2+m]=0;
}
for(int i=0;i<it;i++)
{
number2[it*2-2-i]=number2[it-i-1];
number1[it*2-2-i]=number1[it-i-1];
}
for(int i=0;i<it-1;i++)
{
number2[i]='0';
number1[i]='0';
}
for(int i=0;i<it*2-1;i++)
{
int p=(int)pow((double)10,i);
for(int j=0;j<=i;j++)
{
sum+=(number2[(it*2-2)-j]-'0')*(number1[(it*2-2)-i+j]-'0')*p;
}
}
return sum;
}
void main()
{
printf("%d",StringMul("182556","4567"));
}
이러케 만들면 빨라여?