网易笔试:数字翻转
题目描述
对于一个整数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))的值示例1
输入123 100
输出223
思路:
这道题的核心在于写一个方法用于逆转数字
java代码如下:
import java.util.*;
public class Main {
public static int rev(int n) {
int r = 0;
while(n > 0) {
int m = n % 10;
r = r * 10 + m;
n /= 10;
}
return r;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int x = sc.nextInt();
int y = sc.nextInt();
int result = rev(rev(x) + rev(y));
System.out.println(result);
}
sc.close();
}
}