ttcoristory   1년 전

#include

#include

#include

#include

char u[300000]={0,};

char v[300000]={0,};

char answer[600001]={0,};

void reverse(char q[])

{

int l = strlen(q),i,temp;

for(i=0;i0;i++)

{

answer[i] = num%10+48;

num/=10;

}

reverse(answer);

}

void plus(char u[],char v[],char answer[])

{

int max;

int i;

int temp,carry=0;

max = strlen(u)>strlen(v)?strlen(u):strlen(v);

reverse(u);

reverse(v);

for(i=0;istrlen(v)?strlen(u):strlen(v);

reverse(u2);

reverse(v2);

for(i=0;ii;k--)

u2[k]+=9;

answer[i]+=10;

}

}

reverse(answer);

} // 큰수의 뺄샘

void mul(char u[],char v[],char answer[])

{

int m,i;

if(strlen(u)>strlen(v))

m = strlen(u);

else

m = strlen(v);

char *x = (char *)malloc(sizeof(char)*m);

char *y = (char *)malloc(sizeof(char)*m);

char *w = (char *)malloc(sizeof(char)*m);

char *z = (char *)malloc(sizeof(char)*m);

char *r = (char *)malloc(sizeof(char)*((m+2)*(m+2)+1));

char *p = (char *)malloc(sizeof(char)*((m+1)*(m+1)+1));

char *q = (char *)malloc(sizeof(char)*((m+1)*(m+1)+1));

char *x_y = (char *)malloc(sizeof(char)*(m+1));

char *w_z = (char *)malloc(sizeof(char)*(m+1));

char *p_q= (char *)malloc(sizeof(char)*2*m+4);

char *r_p_q = (char *)malloc(sizeof(char)*2*m+3);

char *p_r_p_q = (char *)malloc(sizeof(char)*4*m+8);

for(i=0;istrlen(u)+strlen(v)+1)

{

itoa2((atoi(u)*atoi(v)),answer);

return;

}

else

{ if(strlen(u)>=m/2)

{

for(i=0;i=m/2)

{

for(i=0;i

댓글을 작성하려면 로그인해야 합니다.