A+B Problem(V)
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
做了A+B Problem之后,Yougth感觉太简单了,于是他想让你求出两个数反转后相加的值。帮帮他吧
-
输入
- 有多组测试数据。每组包括两个数m和n,数据保证int范围,当m和n同时为0是表示输入结束。 输出
- 输出反转后相加的结果。 样例输入
-
1234 1234 125 117 0 0
样例输出
-
8642 1232
来源
- Yougth原创 上传者
我的程序:
#include<stdio.h> int rev(int a) { int s = 0; while(a) { //a>0一直进行循环 s = s * 10 + a % 10; a /= 10; } return s; } int main() { int m, n; while(1) { //死循环,0 0 跳出 scanf("%d%d",&m,&n); if(m == 0&&n == 0) break; printf("%d\n",rev(m)+rev(n)); } return 0; }
最优程序:
01.
#include <iostream>
02.
#include <string>
03.
using
namespace
std;
04.
int
main()
05.
{
06.
string s,t;
07.
int
x,y;
08.
while
(cin>>s>>t)
09.
{
10.
int
x=0,y=0;
11.
if
(s[0]==
'0'
&&t[0]==
'0'
)
12.
break
;
13.
for
(
int
i=s.size()-1;i>=0;i--)
14.
x=x*10+(s[i]-
'0'
);
15.
for
(
int
i=t.size()-1;i>=0;i--)
16.
y=y*10+(t[i]-
'0'
);
17.
cout<<x+y<<endl;
18.
}
19.
return
0;
20.
}