February 1, 2019
Plus a large number
Threads: For 2 integers a, b there 0 <= a, b <= 1 billion billion billion. Calculate and print the total of 2 number.
Input: The first line contains integer n is the number of test. n pair next line is the number of a turn, b of each test
Output: n line, each containing a single number is the sum of 2 number in the corresponding test.
For example:
input 2 3 2 1 3 output: 5 4
You are not logged in? Log in to Submit Now!
9 Comments
Add a Comment
You must be logged in to post a comment.
TestCase little too.
New Kids learn code, physician for more testcase large number go sir.
Enough is enough. 🙂 who know do it right will also not be wrong.
#include
#include
#include
struct bignum
{char num[100];
}
bignum[100];
void chuanA(char a[100], char b[100])
{ int k,i;
k=strlen(b)-strlen(a);
while(strlen(a)=0;i–)
{a[i+1]=a[i];}}
for(i=0;i<=k-1;i++)
{a[i]='0';}
}
void chuanB(char a[100], char b[100])
{ int k,i;
k=strlen(a)-strlen(b);
while(strlen(b)=0;i–)
{b[i+1]=b[i];}}
for(i=0;i<=k-1;i++)
{b[i]='0';}
}
void ketqua(char a[100], char b[100])
{int c[100];
int i,k,carry;
if(strlen(a)strlen(b))
{chuanB(a,b);}
k= strlen(a)-1;
carry=0;
for(i=strlen(a)-1;i>=0;i–)
{a[i]=a[i]-‘0’;
b[i]=b[i]-‘0’;
c[i]=a[i]+b[i]+carry;
if(c[0]>=10)
{c[i]=c[0];
break;}
carry=c[i]/10;
c[i]=c[i]%10;
}
for(i=0;i<=k;i++)
{printf("%d",c[i]);}}
int main()
{ int n,i,c[100];
//printf("n=");
scanf("%d",&n);
for (i=1;i<=2*n;i=i+2)
{scanf("%s",&bignum[i].num);
scanf("%s",&bignum[i+1].num);
if(strlen(bignum[i].num)strlen(bignum[i+1].num))
{chuanB(bignum[i].num,bignum[i+1].num);}}
//printf(“KETQUA\n”);
for (i=1;i<=2*n;i=i+2)
{ketqua(bignum[i].num , bignum[i+1].num);
printf("\n");}
getch();
return(0);}
ktra lai code nay giup em voi, em thử trong visual là đúng
Nhìn code của bạn chán đời quá. Bạn nhìn xem test ouput và your output khác nhau thế nào nhé.
B chơi tới chuỗi luôn à :))
bài hay lắm anh^^
n = int(input())
for i in range(0,n):
a = int(input())
b = int(input())
print(a+b)
vậy ổn không anh
cứ nộp nó sẽ chấm nhé.
#include
#include
#include
void cong(char a[], char b[])
{
char c[50];
bool remember = false;
int lena = strlen(a), lenb = strlen(b);
for (int i = 0; i 0)
{
temp++;
}
if (temp > 9)
{
temp = temp – 10;
remember = true;
}
else
{
remember = false;
}
c[i] = temp + ‘0’;
}
for (int i = 0; i 0)
{
temp++;
}
if (temp > 9)
{
temp = temp – 10;
remember = true;
}
else
{
remember = false;
}
c[lenb + i] = temp + ‘0’;
}
if (remember)
{
c[lena] = ‘1’;
}
for (int i = 0; i ‘9’ || c[i] < '0')
{
c[i] = '\0';
}
}
for (int i = 0; i < strlen(c) / 2; i++)
{
char k;
k = c[i];
c[i] = c[strlen(c) – i – 1];
c[strlen(c) – i – 1] = k;
}
printf("%s\n", c);
}
int main()
{
int n, count = 0;
scanf("%d\n", &n);
typedef struct number
{
char a[50];
char b[50];
} number;
number str[n];
for (int i = 0; i < n; i++)
{
fgets(str[i].a, 50, stdin);
fgets(str[i].b, 50, stdin);
}
for (int i = 0; i strlen(str[i].b))
{
cong(str[i].a, str[i].b);
}
else
{
cong(str[i].a, str[i].b);
}
}
return 0;
}
anh Ơi, em chạy dev C++ và VSC thì đúng nhưng chạy trên đây thì cho được 5 dòng trắng, em không hiểu lí do từ đâu ạ. Mong anh giúp