... HAVE U TRIED .... AT LEAST 3 TIMES ... OK U CAN SEE THIS ...

Monday, February 3, 2014

UVA - 424 :: Integer Inquiry

//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 ;
}

No comments:

Post a Comment