第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))的值
输入例子1:
123 100
输出例子1:
223
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int x=sc.nextInt(); int y=sc.nextInt(); int sum=rev(rev(x)+rev(y)); System.out.println(sum); } sc.close(); } //将一个整数按位数翻转的方法 private static int rev(int m){ StringBuffer sb=new StringBuffer(Integer.toString(m)); String s=(sb.reverse().toString()); return Integer.parseInt(s); } }
方法2:(参考)
链接:https://www.nowcoder.com/questionTerminal/bc62febdd1034a73a62224affe8bddf2 来源:牛客网 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); int m = in.nextInt(); int n = in.nextInt(); int out = rev(rev(m)+rev(n)); System.out.println(out); } public static int rev(int num){ int x = 0; while(num!=0){ x = 10*x + num%10; num = num/10; } return x; } }