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