2017网易秋招--5、数字翻转

题目描述:

对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?  输入描述: 输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。 输出描述: 输出rev(rev(x) + rev(y))的值 输入例子: 123 100 输出例子: 223 思路:先求出数字包含的位数。然后按从个位往前求每一位;求出那一位需要*10的个数就是len-i-1个,然后求result
 1 #include 
 2 #include 
 3 using namespace std;
 4  
 5 int Rev(int x)
 6 {
 7     int num = x;
 8     int len = 0;
 9     int c = 0;
10     int result = 0;
11     while(num)
12     {
13         num/=10;
14         len++;
15     }
16     num = x;
17     for(int i=0;i)
18     {
19         c = num%10;
20         for(int j=i+1;j)
21         {
22             c*=10;
23         }
24         result += c;
25         num/=10;
26     }
27     return result;
28 }
29 int main()
30 {
31     int x;
32     int y;
33     while(cin>>x>>y)
34     {
35         cout<endl;
36     }
37 }

 

转载于:https://www.cnblogs.com/qqky/p/6796028.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部