//Problem link >>http://uva.onlinejudge.org/external/4/424.html
#include <bits/stdc++.h>
#include <string.h>
using namespace std ;
int main ()
{
string a="" , b="" ;
int i , j ,cn =0 ;
while (getline(cin,a))
{
if (a=="0") break ;
if (cn==0)
{
for (i=0 ; i<a.size() ; i++) b+=a[i] ;
}
if (cn==1)
{
int l1=a.size() ;
int l2=b.size() ;
if (l1>l2) b.insert(0,l1-l2,'0') ;
else a.insert(0,l2-l1,'0') ;
reverse(a.begin() , a.end()) ;
reverse(b.begin() , b.end()) ;
l1=a.size() ;
int sum=0 , carry=0 ,p ;
string res="" ;
for (i=0 ,p=0; i<l1 ; i++)
{
sum=(a[i]-'0') + (b[i]-'0') + carry ;
if (sum>9)
{
carry=1 ;
sum=sum%10 ;
}
else carry=0 ;
res+=(sum+'0') ;
}
if (carry) res+='1' ;
b="" ;
for (i=res.size()-1 ; i>=0 ; i--) b+=res[i] ;
}
cn=1 ;
}
cout<<b<<endl ;
return 0 ;
}
#include <bits/stdc++.h>
#include <string.h>
using namespace std ;
int main ()
{
string a="" , b="" ;
int i , j ,cn =0 ;
while (getline(cin,a))
{
if (a=="0") break ;
if (cn==0)
{
for (i=0 ; i<a.size() ; i++) b+=a[i] ;
}
if (cn==1)
{
int l1=a.size() ;
int l2=b.size() ;
if (l1>l2) b.insert(0,l1-l2,'0') ;
else a.insert(0,l2-l1,'0') ;
reverse(a.begin() , a.end()) ;
reverse(b.begin() , b.end()) ;
l1=a.size() ;
int sum=0 , carry=0 ,p ;
string res="" ;
for (i=0 ,p=0; i<l1 ; i++)
{
sum=(a[i]-'0') + (b[i]-'0') + carry ;
if (sum>9)
{
carry=1 ;
sum=sum%10 ;
}
else carry=0 ;
res+=(sum+'0') ;
}
if (carry) res+='1' ;
b="" ;
for (i=res.size()-1 ; i>=0 ; i--) b+=res[i] ;
}
cn=1 ;
}
cout<<b<<endl ;
return 0 ;
}
No comments:
Post a Comment