C++ 数字翻转(九度OJ 1089)
2016-08-28 10:01
225 查看
题目描述:
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。
输入:
第一行一个正整数表示测试数据的个数n。
只有n行,每行两个正整数a和b(0<a,b<=10000)。
输出:
如果满足题目的要求输出a+b的值,否则输出NO。
样例输入:
样例输出:
源代码:
#include <iostream>
using namespace std;
int main()
{
int n;
int a,b,sum,t;
int turna,turnb,turnsum; //翻转后的a b a+b
cin>>n;
while(n>0)
{
cin>>a>>b;
sum=a+b;
t=sum;
turna=0,turnb=0,turnsum=0;
while(a!=0)
{
turna=turna*10+a%10;
a/=10;
}
while(b!=0)
{
turnb=turnb*10+b%10;
b/=10;
}
while(sum!=0)
{
turnsum=turnsum*10+sum%10;
sum/=10;
}
if(turna+turnb==turnsum)
{
cout<<t<<endl;
}
else
{
cout<<"NO"<<endl;
}
n--;
}
return 0;
}
程序截图:
题目描述:
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。
输入:
第一行一个正整数表示测试数据的个数n。
只有n行,每行两个正整数a和b(0<a,b<=10000)。
输出:
如果满足题目的要求输出a+b的值,否则输出NO。
样例输入:
2 12 34 99 1
样例输出:
46 NO
源代码:
#include <iostream>
using namespace std;
int main()
{
int n;
int a,b,sum,t;
int turna,turnb,turnsum; //翻转后的a b a+b
cin>>n;
while(n>0)
{
cin>>a>>b;
sum=a+b;
t=sum;
turna=0,turnb=0,turnsum=0;
while(a!=0)
{
turna=turna*10+a%10;
a/=10;
}
while(b!=0)
{
turnb=turnb*10+b%10;
b/=10;
}
while(sum!=0)
{
turnsum=turnsum*10+sum%10;
sum/=10;
}
if(turna+turnb==turnsum)
{
cout<<t<<endl;
}
else
{
cout<<"NO"<<endl;
}
n--;
}
return 0;
}
程序截图:
相关文章推荐
- 九度OJ 1089 数字反转
- 九度OJ,题目1089:数字反转
- 九度 oj 题目1089:数字反转
- 九度OJ 题目1089:数字反转
- C++ 数字之和(九度OJ 1106)
- 九度OJ 题目1089:数字反转
- 九度OJ 1089 数字反转
- 九度OJ 1352 和为S的两个数字
- 九度OJ 1544 数字序列区间最小值
- 九度OJ 1544 数字序列区间最小值
- 【剑指offer】【九度oj】数组中只出现一次的数字
- 整形数组中只出现一次的数字(剑指Offer,九度OJ)
- 【九度OJ1351】|【剑指offer40】数组中只出现一次的数字
- 九度OJ 1351 数组中只出现一次的数字
- 数字操作符九度OJ 1019 简单计算器
- 九度OJ 题目1534:数组中第K小的数字(二分解)
- 九度OJ 1361 翻转单词顺序
- 九度oj1051数字阶梯求和
- 九度OJ 1361 翻转单词顺序
- 九度OJ 题目1171:C翻转