A + Reverse B(水題一發)
阿新 • • 發佈:2018-11-08
You are given numbers a and b. Calculate the sum of a and reverse of b. A reverse of a number is a number which contains the same digits in reverse order. For example, reverse of 230 is 32, and reverse of 0 is 0.
Input
The input contains two integers a and b (0 ≤ a, b ≤ 109), separated by a single space. The numbers are given without leading zeros.
Output
Output the sum of a and reverse of b.
Examples
Input
5 15
Output
56
Input
73 9180
Output
892
這種題在進入演算法協會的時候有過這種題,這種題目思路很多,倒置數字會出現前置零的問題也有很多方法解決。程式碼給上:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define ll long long using namespace std; int a[10]; int b[10]; ll n,m; int main() { while(scanf("%d%d",&n,&m)!=EOF) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); int cnt1=0; int cnt2=0; int flag1=1; int flag2=1; int sum1=0; int sum2=0; while(m) { int x=m%10; if(x==0&&flag2)//這個flag2就是從第一個非零數開始存入陣列。 m/=10; else { flag2=0; b[cnt2++]=m%10; m/=10; } } ll yy=b[0]; for(int i=1;i<cnt2;i++) { yy=yy*10+b[i]; } printf("%lld\n",n+yy); } return 0; }
努力加油a啊,(o)/~