算法题解-翻转数的和【简单模拟】

题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb
喜欢数学的Lucy经常向哥哥LF请教一些题目,哥哥总能很快就帮她解决。这不,Lucy又有难题要请教哥哥了Lucy的难题。

Lucy的难题是有关翻转数的:

翻转数就是把一个数的所有数字以相反顺序写出来,即原来的第一个数字成为最后一个,而原来的最后一个则成为第一个。我们把未翻转的数称为翻转数的原数。

例 如:6789的翻转数是9876,而6789就是9876的原数。

你一定注意到了,一个翻转数的原数可以有很多个,例如18的原数可以是818108100等等。因此我们假定:通过翻转数求原数时,所求得的原数的个 位不为零。即18的原数就是81。

Lucy现在给出2个翻转数A、B。

这两个翻转数各自对应的原数是C、D,C 与D的和为 S ,Lucy想知道 S是多少?

输入输出格式
输入描述:
输入为多组测试数据,每行一组,包含两个整数A、B,两数中间以空格分隔,0<A<100 000 0000<B<100 000 000。
输出描述:
输出只有一个整数,即为S。
注意:请不要输出翻转数前面无用的零。例:对于0056,只需输出56。

输入输出样例
输入样例#:
123 321
11 2
输出样例#:
444 
13

题解:
思路:将原数不断求个位,乘以10即可得到翻转后的数。
#include<iostream>
using namespace std;

int Reverse(int n)//翻转函数
{
    int number=0;
    while(n)
    {
        number=number*10+n%10;
        n/=10;
    }
    return number;
}

int main()
{
    int a,b,sum=0;
    while(scanf("%d %d",&a,&b)!=EOF)
    {
        sum=Reverse(a)+Reverse(b);
        cout<<sum<<endl;
    }
    return 0;
}

好了,看到这里基本上这章就结束啦。如果您觉得这期内容对你有帮助的话,欢迎点赞,评论,收藏,谢谢啦。

原创文章 8 获赞 8 访问量 405

猜你喜欢

转载自blog.csdn.net/weixin_45532870/article/details/106136646