write the code ofTwo large numbers ( their integer limits are very large which has not in the integers range) , so give the output of adding the two large numbers?
Example;
str1 ="1111111111111111111111111111111111111111"
str2 ="22222222222222222222222222222222222222222"
stmstr = "33333333333333333333333333333333333333333"
Example;
str1 ="1111111111111111111111111111111111111111"
str2 ="22222222222222222222222222222222222222222"
stmstr = "33333333333333333333333333333333333333333"
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
void rev(char s[],int len){
char tmp;
len--;
for(int i = 0; i < len; i++,len--){
tmp = s[i];
s[i] = s[len];
s[len] = tmp;
}
}
int main(){
char s1[] = "9984848448485";
char s2[] = "126";
char ans[1024];
int l1,l2,a,b;
l1 = strlen(s1);
l2 = strlen(s2);
rev(s1,l1);
rev(s2,l2);
int j = a = 0;
for(int i = 0; i < l1 || i < l2 || a; i++){
a += (i < l1)? s1[i] - '0' : 0;
b = (i < l2)? s2[i] - '0' : 0;
a += b;
ans[j++] = (a % 10) + '0';
a /= 10;
}
ans[j] = '\0';
rev(s1,l1);
rev(s2,l2);
rev(ans,j);
printf("%s + %s = %s\n",s1,s2,ans);
return 0;
}
No comments:
Post a Comment