第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;
    }
}

 

posted @ 2017-08-09 09:38  CYTing  阅读(268)  评论(0编辑  收藏  举报